renameについて

[上に] [前に] [次に]
zzz 1999/12/08(水) 21:26:46
perlでrenameを使ってファイル名を変更したいのですが、うまくできません。
具体的な方法を教えてください。

ふじ 1999/12/08(水) 21:47:37
rename "hoge", "fuga" or die "rename false  $!";
みたいにして、エラーメッセージがなんて出てるか
見てみましょう。

CGIでやってるなら die ではなくて、
print "rename false  $!";
#その前に Content-Type ヘッダを出しているとして。

バーチャルヒューマン 1999/12/09(木) 12:50:20
rename先のファイルは、新規作成ならば、ディレクトリの書き込み
パーミッションが必要です。

ふじ 1999/12/09(木) 15:19:02
ファイルシステムをまたがって rename することも出来ません。
たとえば、/home と /tmp が別パーティションの場合

rename "/home/hoge/fuga", "/tmp/fuga";

はだめ。
#ともあれ、エラートラップして $! のメッセージを見るのが早いです。

ENT 1999/12/11(土) 00:25:10
FAQっぽいですが、PerlIIS.dllはrenameサポートしていないみたいです。
ANHTTPD使っていたので気づかなかったことありました。

[上に] [前に] [次に]