use warnings; use strict; use File::Find; use Cwd 'getcwd'; my $cwd = getcwd(); my $loesch_dir = "/var/lib/testverzeichnis/k_loesch"; my $transport_dir = "$loesch_dir/k_transport"; # Kandidaten fürs Löschen zusammenstellen my @loesch_kandidaten; sub files_only { push( @loesch_kandidaten, $_ ) if -f $File::Find::name; } find( \&files_only, $loesch_dir ) ; # @loesch_kandidaten enthält jetzt alle Namen (ohne Pfad!) von allen # "normalen" Dateien, die in $loesch_dir und seinen Unterverzeichnissen stehen. # Ins Transport-Verzeichnis wechseln chdir( $transport_dir ); for my $file ( @loesch_kandidaten ) { if ( -f $file and time - (stat($file))[9] > 14 * 86400 ) { print "entferne $file ...\n"; # unlink( $file ); # <--- entkommentieren } } chdir( $cwd );