如何在Perl中获取文件的最后修改日期?
如何获取中文件的上次修改日期 我能够得到最后一个修改过的文件,但我需要使用Perl从目录中获取相同日期的文件。在堆栈溢出问题中,我有获取最后修改文件的解决方案 但是如何获取ls-lrt的最新日期而不是时间的输出呢?如果使用ls-lrt获取Perl中文件的最后修改日期。。。你做错了 正确的解决方案是使用函数或封装它的模块。这两个命令都会在一个文件中提供一组数据,包括所有三个UTIME。这是一个Perl内解析的例子—shell命令的输出有点不可移植,效率很低,而且完全错误如何在Perl中获取文件的最后修改日期?,perl,date,ls,Perl,Date,Ls,如何获取中文件的上次修改日期 我能够得到最后一个修改过的文件,但我需要使用Perl从目录中获取相同日期的文件。在堆栈溢出问题中,我有获取最后修改文件的解决方案 但是如何获取ls-lrt的最新日期而不是时间的输出呢?如果使用ls-lrt获取Perl中文件的最后修改日期。。。你做错了 正确的解决方案是使用函数或封装它的模块。这两个命令都会在一个文件中提供一组数据,包括所有三个UTIME。这是一个Perl内解析的例子—shell命令的输出有点不可移植,效率很低,而且完全错误 my $mtime = (
my $mtime = (stat $file)[9];
如果你真的很绝望,你应该使用split函数,当然:
my $mtimeAsString = join "" (split /\s+/, (`ls -lrt $file`)[0], 8)[5,6];
# using only the first line of input
请随意比较可读性…统计是传统的。或者使用标准内置的
my $mtime = (stat $filename)[9];
或者使用方便的包装,提供更难忘的访问
use File::stat;
my $mtime = stat($filename)->mtime;
我正在使用stat本身。我使用的统计数据如下:我的$dir=;opendirmy$DH、$dir或模具错误打开$dir:$!;我的%files=map{$\=>stat$dir/$\[9]}grep!/^\.\.\?$/,,readdir$DH;打印转储程序%s个文件;约$DH;