in reply to Ahem... the old delete files n' folders again.

Do two passes.

First collect all old files and dirs in an array, and then delete.

#!/usr/bin/perl use strict; use warnings; use File::Find; my $limit = 180; my @files; my @dirs; find (sub { if ($limit < -M) { if (-d) { push @dirs, $File::Find::name; } else { push @files, $File::Find::name; } } }, "/my.co.uk/video/testdelete/"); unlink or die "$_: $!" for (@files); rmdir or die "$_: $!" for reverse @dirs;