我想以递归方式更改目录及其所有文件的修改时间(mtime).我试过这个 -
utime(undef, 1396396800, "/X/Y/dir1");
Run Code Online (Sandbox Code Playgroud)
dir1包含更多目录和文件,上面的语句只更改/ X/Y/dir1的mtime,而不是/ X/Y/dir1中的其他目录/文件.
是否有任何方法可以递归更改perl中目录的mtime?
没有"递归改变mtime"功能.你必须自己实现它File::Find.
像这样的东西:
#!/usr/bin/env perl
use strict;
use warnings;
use File::Find;
sub change_mtime {
utime( undef, 1396396800, $File::Find::name );
}
find( \&change_mtime, "/X/Y/dir1" );
Run Code Online (Sandbox Code Playgroud)
(我假设你的utime例子是正确的,我还没有测试过)