在perl中复制system命令

时间:2014-04-15 15:45:14

标签: perl

我正在尝试使用perl system()命令复制文件夹test_folder中的所有文本文件。

system("cp","/computer/myname/Desktop/test_folder/*.txt","./");

如果我用某个特定的文件名替换*,这是有效的,但我想一次性复制所有.txt个文件。

我得到的错误是

cp: cannot stat '/computer/myname/Desktop/test_folder/*.txt' no such file or directory

2 个答案:

答案 0 :(得分:5)

使用File::Copy

use File::Copy;

copy($_, './') for (</computer/myname/Desktop/test_folder/*.txt>);

答案 1 :(得分:2)

在Unix上,它是将*扩展为文件列表的shell。从Perl开始,你必须做同样的事情,例如:

system("cp", </computer/myname/Desktop/test_folder/*.txt> ,"./");

使用File::Copy之类的标准模块而不是执行外部命令会更好。