use Apache::ParseLog; use POSIX; use DB_File; my %hits; tie %hits, 'DB_File', '/home/mattb/hackdiary_logs/archive_hits', O_CREAT; while(my $filename = shift @ARGV) { $x = new Apache::ParseLog("/etc/apache/httpd.conf"); $x = $x->config(transferlog=>$filename); $l = $x->getTransferLog(); my %files = $l->file(); my @entries = sort grep { /archives\/0.*html$/ } keys %files; foreach my $entry (@entries) { if(!exists($hits{$entry})) { $hits{$entry} = 0; } $hits{$entry} += $files{$entry}; } }