#!/usr/bin/perl -w
use strict;
my $LOG_PATTERN = q{(.*) \- \[(.*)\] \"(.*) (.*)\?(.*) HTTP\/(.*)\" ([0-9]*)
([0-9]*) \"(.*)\" \"(.*)\" \"(.*)\" \"(.*)\" \-};
my $len = @ARGV;
if ($len <1){
print "Usage : perl script_name logfile\n";
exit();
}
if (!(-e $ARGV[0])){
print $ARGV[0]," not exists.\n";
exit();
}
open (SEM, "< $ARGV[0]") or die "Cannot open file $ARGV[0]\n";
while (){
if (my($ip,
$date,
$method,
$url,
$query,
$protocol,
$ret_code,
$byte,
$referer,
$user_agent,
$tc, $imp)=($_ =~ m/$LOG_PATTERN/)){
print "IP :",$ip, " referer:",$referer,"\n";
}
}
close(SEM);
|