如何在Perl中获取文件的最后修改日期?

pau*_*ler -1 perl ls date

如何在Perl中获取文件的最后修改日期?

我能够获取最后修改过的文件,但是我需要使用Perl从目录中获取相同日期的文件.我有解决方案在Stack Overflow问题中获取最后一个修改过的文件如何在Perl中找到/剪切ls -lrt输出中的文件名.

但是如何获取ls -lrt最新日期而不是时间的输出?

amo*_*mon 10

这是stat FunctionPerl的一种情况- 来自shell命令的解析输出有点不可移植,非常低效且完全错误.

my $mtime = (stat $file)[9];
Run Code Online (Sandbox Code Playgroud)

如果你真的很绝望,你应该使用split function,当然:

my $mtimeAsString = join "" (split /\s+/, (`ls -lrt $file`)[0], 8)[5,6];
    # using only the first line of input
Run Code Online (Sandbox Code Playgroud)

随意比较可读性......


dus*_*uff 5

如果您正在使用ls -lrtPerl获取文件的最后修改日期...那你做错了.

正确的解决方案是使用stat函数或File::Stat包装它的模块.两者都会在一个文件中提供大量数据,包括所有三个utimes.