Maybe you can adapt something like this...
use warnings; use strict; my %log; while (my $line = <DATA>){ chomp $line; next unless length $line; my ($event, $time) = split / at /, $line; push @{$log{$event}}, $time; } for my $key (keys %log){ print $key, ${$log{$key}}[0] ? " at ${$log{$key}}[0]" : ''; print "\nThe above event occurred ", $#{$log{$key}}, " additional +times.\n"; } __DATA__ User logged in successfully at 10:35:33 User logged in successfully at 10:35:34 User logged in successfully at 10:35:35 Error: Login failure! User logged in successfully at 10:35:37 Error: Login failure! Error: System failure at 01:23:22 Error: System failure at 01:23:40 User logged in successfully at 10:35:39 Error: System failure at 01:23:41
Yields: (on my system, output order may vary.)
Error: Login failure! The above event occurred 1 additional times. Error: System failure at 01:23:22 The above event occurred 2 additional times. User logged in successfully at 10:35:33 The above event occurred 4 additional times.
In reply to Re: Counting the number of times several strings appear
by thundergnat
in thread Counting the number of times several strings appear
by cspctec
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |