# First we make to test files % perl -le 'print join(",", map int(rand(1000)), 1..10) for 1..50' > in1.csv % perl -le 'print join(",", map int(rand(1000)), 1..10) for 1..50' > in2.csv % head -3 in1.csv 94,434,249,267,649,367,572,579,498,369 452,735,420,543,832,198,28,86,67,382 801,339,978,859,85,719,758,89,191,377 # Now we run dave0's original script on them perl -lanF, -e '$sum += $F[6]; print "Sum is $sum" if eof' in1.csv in2.csv Sum is 23789 Sum is 48874 # Now let's try a small change --------------------------. # | # V perl -lanF, -e '$sum += $F[6]; print "Sum is $sum" if eof()' in1.csv in2.csv Sum is 48874 #### perl -lanF, -e '$total += $F[6]; $sub += $F[6]; print "Subtotal: $sub" and $sub = 0 if eof; print "Total: $total" if eof()' in1.csv in2.csv Subtotal: 23789 Subtotal: 25085 Total: 48874 #### perl -lanF, -e '$sum += $F[6]; END{ print "Sum is $sum" }' in1.csv in2.csv