#!/usr/bin/perl
use strict;
my ($folder, $max_files) = @ARGV;
die "invalid folder $folder" unless -d $folder;
$folder =~ s/\/$//; # removing / at the end
$max_files ||= 3; # default is 3 files
opendir DIR, $folder || die "can't read folder $folder";
my @files = sort {(stat $folder.'/'.$a)[9] <=> (stat $folder.'/'.$b)[9] }
grep { $_ !~ /^\./ && -f $folder.'/'.$_ } readdir DIR;
closedir DIR;
my $deleted = 0;
while (scalar @files > $max_files ){
my $file = shift @files;
$deleted++ if( unlink $folder.'/'.$file );
}