BEGIN COMMENT
# Расчет времени создания.
END COMMENT
if( defined $Config{date} )
{
# Begin Callout A
my( @Date ) = ( $Config{date} =~ /(d{4})-(d{2})-(d{2})
(?: (d{1,2}):(d{2}):(d{2}))?/ );
$Age = timelocal( $Date[5], $Date[4], $Date[3], $Date[2],
$Date[1] — 1, $Date[0] — 1900 );
# End Callout A
}
else
{
# Begin Callout B
my $AgeDelta = $Config{seconds};
$AgeDelta += $Config{minutes} * 60; BEGIN COMMENT # в минуте 60 секунд END
COMMENT
$AgeDelta += $Config{hours} * 3600; BEGIN COMMENT # в часе 60 минут END
COMMENT
$AgeDelta += $Config{days} * 86400; BEGIN COMMENT # в сутках 24 часа END
COMMENT
$AgeDelta += $Config{weeks} * 604800; BEGIN COMMENT # в неделе 7 дней END
COMMENT
$AgeDelta += $Config{months} * 2419200; BEGIN COMMENT # в месяце 4 недели END
COMMENT
if( 0 == $AgeDelta )
{
Syntax();
exit;
}
else
{
$Age = $Time — $AgeDelta;
}
# End Callout B
}
print ($Config{delete}? «DELETING» : «Listing» );
print « any file found older than « . localtime( $Age ) . «
»;
print «that is larger or equal to $Config{minsize} bytes and smaller
or equal to $Config{maxsize} bytes.
»;
print «-» x 40, «
»;
# Begin Callout C
foreach my $Path ( @{$Config{file_masks}} )
{
my( $Dir, $Mask ) = ( $Path =~ /(.*)?([^]*?)$/ );
ProcessMask( $Mask, $Dir );
}
# End Callout C
sub ProcessMask
{
my( $Mask, $Dir ) = @_;
$Dir = «.» if( $Dir eq «» );
$Dir =~ s/+$//;
# Begin Callout D
foreach my $Path ( glob( «$Dir$Mask» ) )
# End Callout D
{
next if( «.» eq $Path || «..» eq $Path );
next unless( -f $Path );
# Begin Callout E
my @Stats = stat( $Path );
if( $Age >= $Stats[8] && $Stats[7] >= $Config{minsize}
&& $Stats[7] <= $Config{maxsize} )
{
printf( «% 4d) %s
», ++$iCount, $Path );
unlink( $Path ) if( $Config{delete} );
}
# End Callout E
}