On Tue, Feb 10, 2004 at 11:21:15AM +0100, Roger Grosswiler ([EMAIL PROTECTED]) wrote:
> hi list,
> 
> i'd like to try a first perl-script that should:
> 
> -define todays date
> -define todays date minus one week
> -find in a special directory files, that contain ddmmyy
> -remove them
> 
> ..since i am an absolute beginner in programming...i think, if i can read
> out this directory, i can find the files with regexp.

I don't have a lot of time to elaborate since I'm at work right now but 
this is how I handled a similar problem.  I don't present this as great
but it has worked for me so far.  If you have questions fire away.
Later, maybe tonight, I will be able to respond.
Kent

#!/usr/bin/perl
use warnings;
use strict;

# epoch time "three weeks ago"
my $t_w_a = (time - 1814400);

# ILL file directory
my $ill_dir = "/var/www/ssl-docs/illreq";
opendir(IDIR, $ill_dir) || die "Can't open $ill_dir: $!";

# delete any files with mtime older than 21 days
while(defined(my $file = readdir IDIR)) {
    next if $file eq '.' or $file eq '..';
    my $modified_time = (stat("$ill_dir/$file"))[9];
    if ($modified_time <= $t_w_a) {
        unlink("$ill_dir/$file");
    }
}
closedir IDIR or die "Can't close $ill_dir: $!";
 
-- 
"Efficiency is intelligent laziness."
  -David Dunham

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to