Hi,

I'm trying to parse a logfile using the example from the book 'Perl for Web Site Management.'I keep getting the errors 'Global symbol "$auth_user" requires explicit package name at ./log_report.plx line 21. The code I'm using is below.
Do I need to import a module? If anyone can point me in a direction to research this, I'd greatly appreciate it.

Thanks,

Len

#!/usr/bin/perl -w

# log_report.plx

# report on Web visitors

use strict;

my $log_format = 'common'; # 'common' or 'extended'

while (<>) {

my ($host, $ident_user, $auth_user, $date, $time,
$time_zone, $method, $url, $protocol, $status, $bytes,
$referer, $agent);

if ($log_format eq 'common') {

($host, $ident_user, $auth_user, $date, $time,
$time_zone, $method, $url, $protocol, $status, $bytes) =
/^(\S+) (\S+) (\S+) \[([^:]+):(\d+:\d+:\d+) ([^\]]+)\] "(\S+) (.+?) (\S+)" (\S+) (\S+)$/
or next;

} elsif ($log_format eq 'extended') {

($host, $ident_user, $auth_user, $date, $time,
$time_zone, $method, $url, $protocol, $status, $bytes,
$referer, $agent) =
/^(\S+) (\S+) (\S+) \[([^:]+):(\d+:\d+:\d+) ([^\]]+)\] "(\S+) (.+?) (\S+)" (\S+) (\S+) "([^"]+)" "([^"]+)"$/
or next;
} else {
die "unrecognized log format '$log_format'";
}

print join "\n", $host, $ident_user, $auth_user, $date, $time,
$time_zone, $method, $url, $protocol, $status,
$bytes, $referer, $agent, "\n";
}







_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to