in reply to Re: remove directory in perl
in thread remove directory in perl

i want to delete directories/sub directories based on their modified date

Replies are listed 'Best First'.
Re^3: remove directory in perl
by thunders (Priest) on May 20, 2009 at 15:50 UTC
    See stat for some information on how to get Modify Time of a directory. It returns an array with various data on a supplied file or directory.
    #last modify time of /usr/bin: print scalar localtime((stat("/usr/bin"))[9]); # Thu May 14 13:52:17 2009 my $SECONDS_IN_DAY = 60*60*24; $days_old = (time-(stat($dirname))[9]) / $SECONDS_IN_DAY; if($days_old > 5){ #do_something }

      -M is simpler.

      The OP already asked this question here and here

      -M is simpler.

      The OP already asked this question here and here

        That's true, for the specific case I gave -M is simpler. The only thing to note is that -M doesn't use time(). It uses script start time. So in a long running process it may not be what you want:

        $ perl -e ' print -M "/usr/bin","\n"; sleep(120); print -M "/usr/bin", +"\n"' 5.9218287037037 5.9218287037037

        Thanks, I didn't realize I was responding to a question that has already been thoroughly answered.