use Data::Dumper; use List::Util qw(sum); # Grab text files from archive directory with glob function @files = glob ('/export/home/date_file*); $arrCount = scalar(@files); my @types = ("AB", "AC", "AD", "AE", "FG"); my @counts = ($AB, $AC, $AD, $AE, $FG); for($i = 0; $i < (@counts) ; $i++ ) { @counts[$i] = 0; } for($i = 0; $i < $arrCount; $i++) { $file = @files[$i]; open(FILE, $file) or die "Can't open `$file': $!"; @lines = ; close FILE; foreach $line (@lines) { $str = $line; $var = substr($str, 41, 2); for( $i=0; $i<(@types); $i++ ) { if ( $var eq "@types[$i]" ){ @counts[$i]++; } } } } my $sum = 0; for ( @counts) { $sum += $_; } for( $j=0; $j<(@types); $j++ ) { print "@types[$j]\t: @sums[$j] \n"; $j = $j + 1; } print "Total \t: $sum"; #### #!/usr/bin/perl use warnings; use strict; use List::Util qw(sum); # Grab text files from archive directory with glob function @ARGV = glob '/export/home/date_file*'; my %counts = ( AB => 0, AC => 0, AD => 0, AE => 0, FG => 0, ); while ( my $line = <> ) { my $var = substr $line, 41, 2; $counts{ $var }++ if exists $counts{ $var }; } my $sum = sum values %counts; for my $type ( keys %counts ) { print "$type\t: $counts{$type}\n"; } print "Total \t: $sum";