"Bob Showalter" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Asad wrote: >> All: >> I need to write a script to delete 4 hours old files and >> directories on Windows. I am planning to use Perl to accomplish >> this. I understand the "-M" would delete at least a day old files, >> but is there a way to delete 4 hours old files and directories. Thank >> you. > > The -M operator returns a floating point value, so you can compute 4 hours > as: > > $hours = (-M $somefile) * 24; > if ($hours > 4) { > ...file is more than 4 hours old > } > > You need to be careful using -M in a daemon because the age is base on the > script start time and not the current time. If that's a concern, you can > make -M use current time by doing this: > > $hours = do { local $^T = time; (-M $somefile) * 24 }; > > or you can use stat() insteamd of -M like this: > > $hours = (time - (stat $somefile)[9]) / 3600;
Instead of running a service/daemon putting it in the scheduler would be easier. That way the time issue isn't one because it will be restarted each time it needs to do the cleanup. I do this and it work nicely. Robert -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>