如何在Perl中复制文件并保持其时间戳?

Jam*_*ade 4 perl timestamp copy file

我使用File :: Copy模块复制Perl中的文件:

#! /usr/bin/perl -w

use File::Copy;

copy("somefile.log", "copiedfile.log");
Run Code Online (Sandbox Code Playgroud)

我想保留时间戳(特别是修改时间),但这似乎不是一个选项.

是否有一种直接的方法来实现这一点,而无需使用系统调用"cp -p"?

bri*_*foy 7

您可以使用stat来获取时间戳和utime来设置它.如果你可以逃脱它,系统并不总是坏的.你永远不会比这更快cp -p.你认为File :: Copy会这样做,但是在unix上它没有.阿比盖尔提交了RT#96158,但没有采取任何行动.他有关于它破碎的介绍,但我还没有在网上看到它.

  • 也许你直截了当的定义是不同的.至于缺乏一个好的模块感到惊讶,这是因为没有人关心如何破坏File :: Copy,所以没有人想出更好的模块. (3认同)