Here is a snippet of code that I wrote do some something similar (on win32):
$create_date = stat($_)->ctime;
if ($create_date < ($current_date - $set_time)) {
if (unlink ($_)) {
open(LOG, ">>$logfile") or warn "discarding logfile output
+\n";
print LOG "FIle: $_ - has been deleted.\n";
close (LOG) or warn "Can't close $logfile: $!";
} else {
open(ERRLOG, ">>$errorlog") or warn "scrapping error outpu
+t\n";
eval { die "($!)"; };
if ($@) { print ERRLOG "Cannot delete file $_ : $@!\n"; }
}
} else {
open(LOG, ">>$logfile2") or warn "discarding logfile output\n"
+;
print LOG "The file $_ is newer than 30 days.\n";
close(LOG) or warn "Can't close $logfile2: $!";
}
I am deleting on a creation date test, but you can still view the method. Its a little different than using a direct die statement inside a foreach, but it gets the job done.
Thanks,
djw