Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Perl中将文件移动到另一个目录?_Perl - Fatal编程技术网

在Perl中将文件移动到另一个目录?

在Perl中将文件移动到另一个目录?,perl,Perl,当我运行/programe file.txt dir/时,它总是失败 这里怎么了?来自perldoc的重命名: 此函数的行为因用户而异 系统实施。例如,它通常不起作用 跨文件系统边界,即使系统 命令有时会对此进行补偿。其他限制 包括它是否适用于目录、打开的文件或预处理文件- 现有文件。选中perlport和重命名(2) 详细信息,请参阅手册页或同等系统文档 对于独立于平台的“移动”功能,请查看 文件::复制模块 所以改用。重命名更改文件名,这不是您要做的。您可能想从使用移动功能。重命名需要的是完

当我运行
/programe file.txt dir/
时,它总是失败


这里怎么了?

来自perldoc的重命名:

此函数的行为因用户而异 系统实施。例如,它通常不起作用 跨文件系统边界,即使系统 命令有时会对此进行补偿。其他限制 包括它是否适用于目录、打开的文件或预处理文件- 现有文件。选中perlport和重命名(2) 详细信息,请参阅手册页或同等系统文档

对于独立于平台的“移动”功能,请查看 文件::复制模块


所以改用。

重命名
更改文件名,这不是您要做的。您可能想从

使用
移动
功能。重命名需要的是完整的目标路径,而不仅仅是目录。尝试:

rename $ARGV[0], $ARGV[1] or warn "rename fails: $!\n";

如果您能告诉我它失败的原因是什么,那就太好了。

根据平台的不同,它可能在文件夹上工作,也可能不工作。c、 我的回答。错误信息是什么?始终显示完整的示例程序及其输入和输出,以防出现其他错误。
./progname file.txt dir/file.txt