>>276
以下の内容を読み替えて使ってくれ

$src = '保存ディレクトリ'
if ($file ne "") {
($ex) = ($file =~ m|(\.[^./\\]+)$|);

$num++;
$tmp = sprintf ("%02d", $num);
$newfile = "$src/$tmp$ex";

open(FILE, "> $newfile") or die;
flock(FILE, 2);
if (defined $file) {
while (<$file>) {
print FILE $_;
}
}
close FILE;
此れでどうよ?

ファイル名を取得して、拡張子($EX)と文字列に分ける、拡張子(EX)そのままで、
ファイル名を変更するのだが、$num++で連番を生成、生成した連番を二桁("%02d")で表記($tmp)
$newfile = "$src/$tmp$ex";なのだが、此れは、ファイルのある場所とファイル名を保存するものとみた、
此れでいけると思うがどうよ?