Assuming there are any number of space \t \r \n etc. at the end of each line, try something like:
c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le "my $string = 'Return code is'; ;; my %errors; for my $row ( qq{2015/04/06 12:38:15 (9):(5564) Return code is :55\n\r\n}, qq{2015/04/06 12:38:15 (9):(6600) Return code is :55 \r\n\r}, qq{2015/04/06 12:41:31 (9):(3604) Return code is :1\t\n\r}, ) { ++$errors{$1} if $row =~ m{ \Q$string\E \s* : (\d+) \s* \z }xms; } dd \%errors; ;; my $total; for my $err_no (sort { $a <=> $b } keys %errors) { print qq{error $err_no - $errors{$err_no} total}; $total += $errors{$err_no}; } print qq{total errors: $total}; " { 1 => 1, 55 => 2 } error 1 - 1 total error 55 - 2 total total errors: 3
Give a man a fish: <%-{-{-{-<
In reply to Re^3: Can't get hash keys to print
by AnomalousMonk
in thread Can't get hash keys to print
by Daren
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |