Craig Hammer wrote:
>
> I am working on a script to read in a firewall logfile, pull out the IP
> addresses of denied packets, then give me a count per IP address, and
> perform a whois on each address.
>
> This previously ran as a VERY SLOW shell script. In bourne, I used sort and
> then uniq to get a count per IP address. Is there something similar to uniq
> within perl? (I already have it sorting correctly)
Something like this for example:
my %address;
open LOG, '/var/log/yourlogfile' or die "Cannot open 'yourlogfile': $!";
while ( <LOG> ) {
if ( /denied/i and /([\d.]+)/ ) { # get IP address
$address{$1}++; # count unique IP addresses
}
}
for ( sort keys %address ) {
print "IP address: $_ Count: $address{$_}\n";
}
John
--
use Perl;
program
fulfillment
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]