リネーム部分 改良案
#############################################################################
# ファイルのリネームを行う
# 入力: $src、$dst
# 戻り値: 0またはエラーメッセージ
#############################################################################
sub TryRename
{
my ($src, $dst) = @_;
my $status = undef;
my $count = 100;
my $debug = 0;
# ex11で実験することにする
# 他サーバには、うまくいったら入れよう
if($ENV{'SERVER_NAME'} =~ /ex11/)
{
$debug = 1;
}
# 100回、renameを試行してみる
for (1..$count)
{
rename($src, $dst) and return 0;
}
# だめだったらステータスを保存する
$status = $!;
# デバッグしている時は、ユーザの画面にその旨表示する
if($debug)
{
print "bbs.cgiデバッグ中。。。<br>\n";
print "renameに失敗しましたが、そのまま処理を続けます。<br>\n";
print "($src)($dst)($status)<br>\n";
print "<br>\n";
print "このメッセージをコピペして、運用情報板の以下のスレッドに報告していただけるとありがたいです。<br>\n";
print "<br>\n";
print "bbs.cgi再開発プロジェクト7<br>\n";
print "<a href=\"
http://qb5.2ch.net/test/read.cgi/operate/1130918407/\">
http://qb5.2ch.net/test/read.cgi/operate/1130918407/l50</a><br>\n";
print "<br>\n";
}
# デバッグしてない時は、ゴミファイルを消す
else
{
unlink($src);
}
return $status;
}