#!/usr/bin/perl -w

use strict;
#use diagnostics;

my $dir = "testdir";
opendir (DH, "$dir") || die "Could not open $dir: $!\n";

my @files; my $keep = 7;
while (defined(my $file = readdir(DH))){
    next if $file =~ /^\.+$/;
    push (@files, $file);
}

# Skip the rest if number of files isn't above $keep.

chdir $dir;
if ($#files -1 > $keep){
    my %file_mtime;
    foreach(@files){
        $file_mtime{$_} = (stat ($_))[9];
    }
  #foreach my $key (keys %file_mtime){print "$key \t=> 
$file_mtime{$key}\n";}print  "\n";
  my @sorted = sort{$file_mtime{$b}<=>$file_mtime{$a}} keys %file_mtime;
  #foreach (@sorted){print "$_\n";}
  my @delete = @sorted[$keep..$#sorted];
  for (@delete){unlink $_ or warn "Couldn't delete $_: $!\n";} 
}

closedir(DH);



-- 
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