in reply to Processing files in a directory recursively

You could use File::Find::Rule to find the files

use File::Find::Rule qw( ); # Only delete files created more than 60 seconds ago. my $old = time() + 60; my @to_move = File::Find::Rule ->file() ->name( 'temp*' ) ->ctime( ">=$old" ) ->in( $dir );

(Untested)

Then use move in File::Move