#!/usr/bin/perl


#
# IMPORTANT NOTE:
#
# 
# By default this will keep the last 30 days of your quarantine.
# You can change this here:

$days_to_keep   = 30;

$quarantine_dir = '/var/spool/MailScanner/quarantine';

# Standardise the format of the directory name
die 'Path for quarantine_dir must be absolute' unless $quarantine_dir =~ /^\//;
$quarantine_dir =~ s/\/$//; # Delete trailing slash

# Now get the content list for the directory.
opendir(QDIR, $quarantine_dir) or die "Couldn't read directory $quarantine_dir";

# Loop through this list looking for any *directory* which hasn't been
# modified in the last $days_to_keep days.
# Unfortunately this will do nothing if the filesystem is backed up using tar.
while($entry = readdir(QDIR)) {	
	next if $entry =~ /^\./;
	$entry = $quarantine_dir . '/' . $entry;
	system("rm -rf $entry") if -d $entry &&
	                           -M $entry > $days_to_keep;
}
closedir(QDIR);


syntax highlighted by Code2HTML, v. 0.9.1