#use strict; #use warnings; use File::Copy; use Time::Local; my $week="daily/Sun-20-Apr-2008/"; my $weeknum=5; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdist) = localtime time; my $input = "SNAGIT.txt"; #my ($quote,$time); my $actualquote; my $actualtime; my $snaghour; my $snagminute; my $snagsecond; my $picksecond=1; my $pickminute; my $month = (qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)) [(localtime)[4]]; my $day = (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[(localtime)[6]]; $year = $year+1900; if ($min < 30) {$min = 0; } else {$min = 30; } ## Open the SNAGIT.TXT, plus some sensible error checking open(DATAFILE, "$input") || die("Can't open $input:!\n"); ## Loop through the file one line at a time while () { chomp; unless ( m{^ (\d\.\d{5}) \s*,\s* (\d\d:\d\d:\d\d) \s* (.*) $ }x ) { next; } # chomp $_; my ( $quote, $time, $comment ) = ( $1, $2, $3 ); # captures my ( $snaghour, $snagminute, $snagsecond ) = split /:/, $time; #($quote,$time) = split(",", $_); chop($quote); #chop($quote); # ($snaghour,$snagminute,$snagsecond) = split(":",$time); if ($snagsecond==0 && ($snagminute==0 || $snagminute==30)) { $actualtime=$time; $actualquote=$quote;$picksecond=99; } if ($snagminute>=$pickminute && ($snagminute<30 || $snagminute>31)) { if ($snagminute==$pickminute && $snagsecond==$picksecond) { $picksecond=$snagsecond;$pickminute=$snagminute;$actualtime=$time;$actualquote=$quote; } elsif ($snagminute>$pickminute) { $picksecond=$snagsecond;$pickminute=$snagminute;$actualtime=$time;$actualquote=$quote; } elsif ($snagsecond>$picksecond) { $picksecond=$snagsecond;$pickminute=$snagminute;$actualtime=$time;$actualquote=$quote; } } } close(DATAFILE); ######### daily file creation and quote add ######## ######################## #create new file for new day @ 1700 if ($hour == 17 && $min ==0) { open (DATA,">>$week$mday.txt"); close (DATA); } ##################### ### calculate REAL day ### by subtracting 1 from mday if hour > 00 and < 1700 ### use Date::Calc::Object; my ($ydate) = Date::Calc->today - 1; my $yday = $ydate->day; my $filemday = $mday; if ($hour < 17 && $hour >= 0) { $filemday = $yday; } my $dayfile = $week.$filemday.".txt"; ######################### ### print quote to file #########################print "The Date-Time is ".$day."-".$mday."-".$month."-".$year."@".$hour."-".$min; if (-e $dayfile) { open (DATA,">>$dayfile"); print DATA "$hour:$min,$actualquote\n"; close (DATA); } ############## ######### send reading to webserver http://192.168.1.3/pam/savequote.php?n=2008-03-17%2007:00:00,14444 ######## ##############################################################################$year,$mon,$mday,$hour,$min,$actualquote $mon=$mon+1; (my $cutquote=$actualquote) =~ tr/.//d; #print '-'.$year.'-'.$mon.'-'.$mday.'%20'.$hour.':'.$min.':00,'.$cutquote; use LWP::Simple; my $request = get "http://192.168.1.3/pam/savequote2.php?n=".$year."-".$mon."-".$mday."%20".$hour.":".$min.":00,".$cutquote.",".$weeknum.",".$filemday; my $webrequest = get "http://pam.awardspace.biz/savequote.php?n=".$year."-".$mon."-".$mday."%20".$hour.":".$min.":00,".$cutquote; my $webrequest3 = get "http://www.dailygrain.com/php/savequote_DG.php?n=".$year."-".$mon."-".$mday."%20".$hour.":".$min.":00,".$cutquote; ######## ### dump snagit.txt file to my half hourlys my $newfile = "30min/".$day."-".$mday."-".$month."-".$year."@".$hour."-".$min.".txt"; copy($input,$newfile) or die "bleeeeeur"; unlink($input); ###### ## log runtimes my $newtime = localtime time; open (DATA,">>runtimes.txt"); print DATA "$newtime-"; print DATA "LOCAL: $request - AWARDSPACE: $webrequest - DG: $webrequest3"; close (DATA);