sub Prioritise_requests { my( $input_directory, $node ) = @_; for my $dir_num ( '1', '2', '3' ) { my $input_dir = $input_directory.$dir_num; opendir DIR, $input_dir or die "Error opening directory $input_dir - $!"; my @files = sort { -M $a <=> -M $b } map "$input_dir/$_", grep /^Flat_file.*\.txt$/, readdir DIR; closedir DIR; foreach ( @files ) { if ( Is_the_file_mine($node, $_) and Do_I_run_the_request_now($_) ) { move $_, $input_directory or warn "Error moving $_ to $input_directory - $!"; return; } } } }