I'd throw the answers in a hash: for a typical logfile, you'll get a lot of the same answers anyway:
open(LOGFILE, "$mylogfile") or die "Could not open $mylogfile: $!\n"; my %useragent; while(<LOGFILE>) { if (/Mozilla(.*)$/) { $useragent{$1}++; } } close(LOGFILE); ## Alphabetically sorted: for (sort keys %useragent) { printf "Length: %3d Frequency: %5d Name: $_\n", length $_, $useragen +t{$_}; } ## Sorted by frequency: for (sort {$useragent{$a} <=> $useragent{$b}} keys %useragent) { printf "Length: %3d Frequency: %5d Name: $_\n", length $_, $useragen +t{$_}; } ## Sorted by length: for (map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { [ $_, length $_ ] } keys %useragent) { printf "Length: %3d Frequency: %5d Name: $_\n", length $_, $useragen +t{$_}; }
In reply to Re: grabbing info from log after key word
by turnstep
in thread grabbing info from log after key word
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |