in reply to Process multiple files in a directory

Welcome to PerlMonks!

You should always use strict; and use warnings; at the top of every Perl script. It pinpoints the vast majority of things that are wrong (or could be better) up front, so it forces you to write more predictable, stable code.

Here's an example of what I think you want to do, using strict, warnings and common Perl idioms. It seems you only want to have a total count, so I got rid of the hash as it isn't needed.

#!/usr/bin/perl use warnings; use strict; my @files = <C:/temp/CHOP/*JUNE*>; for my $file (@files){ open my $fh, '<', $file or die "Can't open file $file: $!"; my $count = 0; while (my $line = <$fh>){ print "$line" if $line =~ /Total/; $count++ if $line =~ /failed/; } if ($count){ print "Total Volume Failed to Resolve in $file: $count\n"; } }

Notice that if 'Total' and 'failed' are on the same line, it counts as a 'Total' due to the first if statement. If you want it to fail even though the line contains 'Total':

if ($line =~ /Total/ and $line != /failed/){ print "$line\n"; }

-stevieb