![Perl 中的文件移动会停止当前脚本吗?](https://linux22.com/image/563937/Perl%20%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E7%A7%BB%E5%8A%A8%E4%BC%9A%E5%81%9C%E6%AD%A2%E5%BD%93%E5%89%8D%E8%84%9A%E6%9C%AC%E5%90%97%EF%BC%9F.png)
我怎样才能做到这一点mv ($file $new_file/$1) or die("Errors 2")
;
所以如果找不到该文件,它会在终端中停止脚本吗?
否则它会不断重复,我需要重新启动 putty 会话,这样我才能输入一些内容
答案1
use autodie;
rename($file, "$dir/$newname")
- 如果因任何原因无法重命名,它就会挂掉。如果文件不存在,则显然重命名失败,这也会被捕获。
答案2
那么这个怎么样:
if ( -f $file ) {
rename($file, "$dir/$newname")
or die("Could not rename '$file' to '$dir/$newname'");
} else {
die("File '$file' does not exist");
}
请阅读该功能的手册rename()
以了解它的局限性(perldoc -f rename
)以及您可能需要对其进行的操作(例如,move()
从File::Copy
模块中使用)。