#!/usr/local/bin/perl $total=0; $n=0; $i=$#ARGV; if ("$ARGV[0]" eq "-c") { if (($i<1)||($ARGV[1]==0)) { print("usage: calcavg [-c n] [files]\n"); exit; } if ($i==1) #no files are given { while($l=) { @LINE=split(/\s+/,$l); $total=$total+$LINE[$ARGV[1]-1]; $n++; } $aver=$total/$n; print("Average = $aver\n"); } else { for ($j = 2; $j<=$i; $j++) { open(F,$ARGV[$j]) || die "Cannot open $ARGV[$j]"; while ($l=) { @LINE=split(/\s+/,$l); $total=$total+$LINE[$ARGV[1]-1]; $n++; } } $aver=$total/$n; print("Average = $aver\n"); } } else { if ($i < 0) #no files are given { while ($l=) { @LINE=split(/\s+/,$l); for ($j=0; $j<=$#LINE; $j++) { $total=$total+$LINE[$j]; $n++ } } $aver=$total/$n; print("Average = $aver\n"); } else { for ($j=0; $j<=$i; $j++) { open(F,$ARGV[$j]) || die "Cannot open $ARGV[$j]"; while($l=) { @LINE=split(/\s+/,$l); for ($k=0; $k<=$#LINE; $k++) { $total=$total+$LINE[$k]; $n++; } } } $aver=$total/$n; print("Average = $aver\n"); } }