#untested for (split("\n", $content) ) # split string to multiple lines { my (undef, $good, undef) = split(/_/, $_); # could also be written as $good = ( split(/_/, $_) )[1]; $seen{$good}++; } for ( keys %seen ) { print "$_ $seen{$_}\n" }