use strict; my @lc_alpha = ('a'..'z'); foreach my $file (@ARGV) { my $error = 0; my %count; foreach my $alpha (@lc_alpha) {$count{$alpha} = 0;} open(DAT,"<",$file) || $error++; if ($error) { print "Unable to open file '$file': $!\n"; print "Skipping the file.\n"; } else { while () { my (@chars) = ($_ =~ m/([a-z])/gi); foreach my $char (@chars) { $count{lc($char)}++; } } close(DAT); print "The file '$file' has the following character counts:\n"; foreach my $alpha (@lc_alpha) { print " $alpha -- $count{$alpha}\n"; } print "\n"; } }