#!/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 ("| $site | $line |
\n\n");
}
close(LOGFILE);
print WEBPAGE ("Total hits: $totalhits
");
print WEBPAGE ("Hits Yesterday: $yesterdayHits
");
print WEBPAGE ("
");
print WEBPAGE ("