in reply to How do you write a perl script to calculate the age of a file
In Perl, you could use the File::Find module in conjunction with the aforementioned -M operator to accomplish the same thing as that shell command, and much more. You should also check out the stat function, which provides detailed inode information. Again, please be careful. This code deletes everything under $dir.# find . -type f -mtime +2 | xargs -i rm {}
#!/usr/bin/perl -w use strict; use File::Find; my @files = (); my @paths = (); my $dir = '/home/kurtw/perlmonks/test5'; find(\&_filewanted, $dir); for my $file ( @files ) { if (unlink $file) { print "removing $file\n"; } else { print "could not unlink $file\n"; } } sub _filewanted { if ( ((-M $_) > 2) && -f $_ ) { # files, not directories push @files, $File::Find::name; } }
|
|---|