rename $ARGV[0], $ARGV[1] or warn "rename fails: $!\n";
當我運行./programe file.txt dir/
它總是失敗。將文件移動到Perl中的另一個目錄?
這裏有什麼問題?
rename $ARGV[0], $ARGV[1] or warn "rename fails: $!\n";
當我運行./programe file.txt dir/
它總是失敗。將文件移動到Perl中的另一個目錄?
這裏有什麼問題?
從針對的perldoc重命名:
這個函數的行爲會有所不同瘋狂取決於你 系統實施。例如,跨文件系統邊界通常不會運行 ,即使系統命令有時會對此進行補償。其他限制 包括它是否適用於目錄,打開的文件或現有文件的前 。請檢查perlport以及重命名(2) 聯機幫助頁或等效系統文檔以瞭解詳細信息。
對於獨立於平臺的「移動」功能,請查看 File :: Copy模塊。
因此改爲使用File::Copy::move。
rename
更改文件的名稱,這不是你想要做的。您可能想要使用move
函數File::Copy
什麼是錯誤訊息?在出現其他問題時總是顯示完整的示例程序及其輸入和輸出。 –