New to Perl, loving it. My approach to this problem was to use split() a couple of times, tidy up the pieces.
while(<LOG>) {
($vIP,$rfc931,$username,$timestamp,$tz,
$request,$uri,$protocol,$sc,$size) = split;
($x,$x,$x,$referrer,$x,$uaString) = split(/"/);
vIP is visitor IP addy, tz...