#!/usr/bin/perl use strict; use warnings; use Time::Piece; use Time::Seconds qw(ONE_DAY); my $yesterday = = strftime("%d/%b/%Y",localtime(time()-86400)); open(LOGFILE,"<", "access.log")or die"Could not open log file."; my $yesterdayHits=0; my $totalhits=0; my $webPage='log.html'; open(WEBPAGE,">",$webPage); print WEBPAGE ("Access Counts"); print WEBPAGE (""); print WEBPAGE ("

today is: ",scalar(localtime), "

"); print WEBPAGE ("

Yesterday was $yesterday

"); print WEBPAGE (""); foreach my $line () { $totalhits++; my $w = "(.+?)"; $line =~ m/^$w $w $w \[$w:$w $w\] "$w $w $w" $w $w/; my $site = $1; my $logName = $2; my $fullName = $3; my $date = $4; my $time = $5; my $gmt = $6; my $req = $7; my $file = $8; my $proto = $9; my $status = $10; my $length = $11; if($line =~ m/$yesterday/){$yesterdayHits++} print WEBPAGE ("\n\n"); } close(LOGFILE); print WEBPAGE ("

Total hits: $totalhits

"); print WEBPAGE ("

Hits Yesterday: $yesterdayHits

"); print WEBPAGE ("
$site$line

"); print WEBPAGE (""); close(WEBPAGE);