in reply to Count and List Items in a List

You better move that array splitting into your conditional, like so:
if (m/zaps/i) { @zapschool = split (/\t/); print NEWFILE "$zapschool[4]\n"; }
That will give you a performance boost because in your code all line get split, here just the neccessary lines.

Please note (good to impress your boss :) that you can do this in a oneliner:
C:\>perl -naF/\t/ -e "print qq($F[4]\n) if /zaps/" infile>outfile
or the counting:
C:\>perl -naF/\t/ -e "$hash{$F[4]}++ if /zaps/;END{print qq($_\t$hash{ +$_}\n) for sort keys %hash}" infile>outfile


holli, /regexed monk/