我的问题几乎与this one here完全相同,只是我不能使用File :: Copy :: Recursive。
我无法安装或修改现有环境,所以我坚持使用有效的方法。
use File::Copy; # Works!
use File::Copy::Recursive # Doesn't Work :(
use File::Path # Works!
我收到此错误:(我无法解决此错误,因为我只是此系统的用户,而不是管理员或任何其他)
Can't locate File/Copy/Recursive.pm in @INC (@INC contains: /path/to/some/place /path/to/other/place .) at my_program.pl line 13.
如果它有帮助,我的方案是我要复制内容目录,让我们说~/my_dir
到这里已存在的内容~/
。 ~/my_dir
有一个子文件夹~/my_dir/sub_dir
,我想复制该目录及其所有内容。
答案 0 :(得分:1)
无论如何,系统的工具更好。
system('cp', '-rp', '--', $src, $dst);
die("Can't launch cp: $!\n") if $? == -1;
die("cp killed by signal ".($? & 0x7F)."\n") if $? & 0x7F;
die("cp exited with error ".($? >> 8)."\n") if $? >> 8;
缺点是缺乏便携性。如果您想要可移植性,请安装File :: Copy :: Recursive。如果您可以在计算机上安装脚本,还可以安装File :: Copy :: Recursive。