if ( -e "$path/$filename" ) { my $unique = unique(); $filename=~s/^([^_]+_)(.*)(\.\w{3})\z/$1.$2.$unique.$3/eg; rename( "$path/$filename", "$path/$filename"); unlink($filename); } } sub unique { my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time); $mon++; $year = $year + 1900; my $timestamp = sprintf "%4d%02d%02d%02d%02d%02d", $year,$mon,$mday,$hour,$min,$sec; my $rand = (rand 10000); $rand = int($rand); my $unique = "$timestamp$rand"; }