#!/usr/bin/perl use strict; use warnings; use 5.10.0; my %count; while () { if (/^(\S+)\s+([A-Z])$/) { $count{$1}{$2}++; } else { warn "Regular expression failed on $_"; } } for my $name (sort keys %count) { if (exists $count{$name}{Z}) { say "$name $count{$name}{Z}" } } __DATA__ Tommy Z Tommy Z Chris Z Chris B Chris Z Jake Z Jake Y #### #!/usr/bin/perl use strict; use warnings; use 5.10.0; my $count; while () { $count++ } say $count;