Here's something to try:
#!/usr/bin/perl
##############################################################
use strict;
my $directory=shift @ARGV; # get the target directory
open $fh,"> /tmp/logfile.txt" or die "/tmp/logfile.txt:$!";
if ( ! -d $directory ) {
puke_and_die($fh,"no such directory: " . $directory);
}
chdir $directory or puke_and_die($fh,"Cannot chdir to $directory");
opendir(DIR,$directory);
while(my $fname=readdir(DIR)){
next if ($fname eq '.') || ($fname eq '..');
next if -d $fname;
unlink $fname or logit ($fh,"could not remove " . $fname . ": $
+!");
}
exit(0);
sub logit {
my($fh,$msg) = @_;
printf $fh,"%s\n",$msg;
}
sub puke_and_die {
my ($fh,$msg)=@_;
logit($fh,$msg);
close $fh;
exit(-1);
}
now:
- This assumes you are passing the directory you want cleaned out as an argument to the script. If not you need to change the mechanism a bit to accommodate your requirements.
- This is completely untested and is the product of a caffeine deficient brain,
ENOCOFFEE: SysAdm Halted. Brain fried; core dumped.
Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg