#!perl #use strict; use Text::CSV_XS; use warnings; use FileHandle; # declarations my($log_file_path)="\\\\dt00mx84\\LogArchive\\www.ksdot.org\\dt00mh77\\"; my($robot_file)="\\\\dt00mx84\\LogArchive\\Webrobots.txt"; my($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime(); my$x="ex"; my($extension)=".log"; my($year)=1900+$yearOffset; my($month_new)=1+$month; my $day=$dayOfMonth-1; my @logmessages; # build filename format # this is how log files are named using the yy/mm/dd formatex040101.log if (length($month_new)< 2) { $month_new="0".$month_new }; if (length($dayOfMonth)< 2) { $dayOfMonth="0".$dayOfMonth }; # build input file name and file path to read from my($filename)=$x.substr($year,2).$month_new.$day; my($log_file)=$log_file_path.$filename.$extension; # build output file name and path to write file my($file_name)=substr($year,2).$month_new.$day; my($out_file)=$log_file_path.$file_name.$extension; # Declare the FileHandles and open the input and output files my $fh= new FileHandle; open(LOG, "<$log_file") or die "Could not open file"; @logmessages=; close(LOG); my $outfile= new FileHandle; open(OUTFILE, ">$out_file") or die "Could not open file"; foreach $LogLine (@logmessages){ if(($LogLine!~/Slurp/) && ($LogLine!~/Jeeves/)&&($LogLine!~/Googlebot/)&&($LogLine!~/FunWebProducts/)&&($LogLine!~/msnbot.htm/)&&($LogLine!~/PeoplePal/)&&($LogLine!~/ventura5/)&&($LogLine!~/Speedy/)&&($LogLine!~/GovDelivery/)&&($LogLine !~ /gif/)&&($LogLine !~ /jpg/)&&($LogLine !~ /ico/)&&($LogLine !~ /css/)&&($LogLine !~ /js/)&&($LogLine !~ /archive/)&&($LogLine !~ /CazoodleBot/)&&($LogLine !~ /WebTrends/)&&($LogLine !~ /ShopWiki/)&&($LogLine !~ /Ultraseek/)&&($LogLine !~ /msrbot/)&&($LogLine !~ /Moskow/)&&($LogLine !~ /Gigabot/)) { print OUTFILE $LogLine; } }