perl中复制文件的命令是什么?

perl中复制文件的命令是什么?

一直用unlink,rename,chdir等命令,
不知道perl中什么命令能完成linux cp的功能?
哪位好心人告诉我一下?
perldoc File::Copy
system("cp ...");
File::Copy模块


QUOTE:
原帖由 ynchnluiti 于 2008-10-17 15:21 发表
system("cp ...");
File::Copy模块

必须要用system命令吗?感觉好不爽,因为一般的unix文件目录操作perl都有对应的函数。

另外,我的脚本中经常要把一个文件读入做些修改再写出来,好的编程风格是把初始文件读到一个array里面,
做完了所有的操作再写出,还是不断的
while(<FILE>){...}
seek FILE;0,0,
while(<FILE>){...}
print <FILE> ...;

?
unlink,rename能对文件句柄操作吗?


QUOTE:
原帖由 每日一瓜 于 2008-10-17 15:27 发表

必须要用system命令吗?感觉好不爽,因为一般的unix文件目录操作perl都有对应的函数。

另外,我的脚本中经常要把一个文件读入做些修改再写出来,好的编程风格是把初始文件读到一个array里面,
做完了所有 ...

之前有个帖子是说关于复制文件时怎么保持文件的属性,File::Copy不行。
个人认为:文件不是很大时,读到内存修改完再写文件
Thank you!
File::Copy好像是有问题的,前两天我循环110000次复制一个文件,但复制到90000多个时就复制不下去了,而且程序还不退出。我还以为是系统限制问题,把循环次数改为90000多,结果复制到70000多就复制不下去了,真是奇怪啊!
用system("cp ...")的缺点就是有些机器不能在引号里面使用perl的变量


QUOTE:
原帖由 dl0622 于 2008-10-17 18:45 发表
File::Copy好像是有问题的,前两天我循环110000次复制一个文件,但复制到90000多个时就复制不下去了,而且程序还不退出。我还以为是系统限制问题,把循环次数改为90000多,结果复制到70000多就复制不下去了,真 ...

so what is next? Any reasonable explanation?