use strict; use warnings; my $way = "test"; my (@rit, $rid); opendir $rid, $way; while ( my $entry = readdir $rid ) { next unless -f $way . '/' . $entry; next if $entry eq '.' or $entry eq '..'; push @rit, $entry; } closedir $rid; my %data; for (@rit){ my $cat = "$way/$_"; open my $fh, '<', $cat or die "Can't open $cat: $!"; while (my $line = <$fh>){ chomp $line; if ($line =~ /(4\w{3}A)/){ $data{$1}++; } } } for my $k (keys %data){ print "$k\n"; } #### 4060A 4099A