use File::Copy; use Time::Local; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdist) = localtime time; my $week="daily/Sun-23-Mar-2008/"; .... other code ######### daily file creation ######## ######################## #create new file for new day @ 1700 if ($hour == 17 && $min ==0 && min !=30) { qx(touch $week.$mday); } ##################### ### calculate REAL day ### by subtracting 1 from mday if hour > 00 and < 1700 ### WHATABOUT THE MONTH??? my $filemday = $mday; if ($hour < 17 && $hour >= 0) { $filemday = $filemday-1; } my $dayfile = $week.$filemday.".txt"; ### print data to file if (-e $dayfile) { open (DATA,">>$dayfile"); print DATA ""$hour:$min,some data\n"; close (DATA); } ... other code