in reply to 'Use Strict' conflicts with Time::Local module

You're probably re-declaring a variable. Here's my edit of the code, which runs cleanly and correctly:
use strict; use warnings; use Time::Local; # subroutine extracts and formats date from a time stamp sub extractDate($) { # extracts and formats date from a time stamp my ($t) = @_; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($t); $mon += 1; $year += 1900; $mon = (length($mon) == 1) ? "0$mon" : $mon; $mday = (length($mday) == 1) ? "0$mday" : $mday; return ($mon, $mday, $year); } # get all data from website from 8/16/07 to present my $start = timelocal(0,0,0,16,7,107); my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst); ($mon, $mday, $year) = extractDate($start); print "starting at $mon/$mday/$year\n"; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time +); my $now = timelocal(0,0,0,$mday - 0,$mon,$year); #$now = timelocal(0,0,0,$mday - 1,$mon,$year); #$now = timelocal(0,0,0,3,10,105); ($mon, $mday, $year) = extractDate($now); print "ending at $mon/$mday/$year\n"; my ($t); for ($t = $start; $t < $now; $t += 60*60*24) { ($mon, $mday, $year) = extractDate($t); print "processing $mon/$mday/$year\n"; }

Caution: Contents may have been coded under pressure.

Replies are listed 'Best First'.
Re^2: 'Use Strict' conflicts with Time::Local module
by nase (Novice) on Aug 22, 2007 at 22:46 UTC
    Thanks for the help. I was able to input Roy Johnson's edited code in and it worked like a charm. I'm pretty sure you hit it right on in that I wasn't correctly declaring variables. One thing that I know I did not do before was put in the extra declaration, "my ($t);" near the bottom of the code. I'm guessing that there is a more efficient way to run the process; understanding the alternatives will come with time.