我正在使用File :: Copy模块在Perl中复制文件:
#! /usr/bin/perl -w
use File::Copy;
copy("somefile.log", "copiedfile.log");
我想保留时间戳(特别是修改时间),但这似乎不是一个选项。
有没有一种直接的方法来实现这一目标而不需要对“cp -p”进行系统调用?
答案 0 :(得分:7)
您可以使用stat来获取时间戳,并使用utime来设置时间戳。如果你可以逃脱它,系统并不总是坏的。你永远不会比cp -p
做得更快。你认为File::Copy会这样做,但是在unix上却没有。阿比盖尔提交了RT #96158,但没有采取任何行动。他有关于它破碎的介绍,但我还没有在网上看到它。
答案 1 :(得分:4)
检查File::Copy。在syscopy
或rmscopy
下查看。它谈到那里的时间戳。