perl 脚本的意外输出
Unexpected output from perl script
以下脚本不产生输出:
use File::stat;
use Time::localtime;
my $filename = 'c:\testfile';
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
= stat($filename);
print("$mtime");
c:\testfile
存在。
我在 SO 上看到了几个答案——this, for example——这似乎表明 stat()
返回的数组中应该有一些有意义的东西,但我还没有看到在实践中是这样的。
这是 Windows 7.
上的 64 位 ActivePerl
stat 是否没有按照这些答案似乎暗示的那样进行操作,或者 Perl 的文件 date/time 函数在 Windows(或 64 位 Windows 或其他类似的系统下无法工作?)
File::stat 将 stat
替换为具有不同界面的文件。删除 use File::stat;
或适当使用其 stat
。
这很好用:
#!perl
use strict;
use warnings;
my $filename = 'c:\Users\username\Documents\asdf23rasdf.pl';
my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev,
$size, $atime, $mtime, $ctime, $blksize, $blocks
) = stat($filename);
print($mtime);
正如评论中提到的那样 - Perl 的内置 stat
与上面的工作方式类似。您不需要使用 File::Stat
或 File::stat
来执行此操作。它们只是为相同的功能提供不同的接口。
如果你想用 File::stat
来做,它是这样的:
use File::stat;
my $filename = 'c:\Users\username\Documents\asdf23rasdf.pl';
my $stats = stat($filename);
print( $stats -> mtime);
以下脚本不产生输出:
use File::stat;
use Time::localtime;
my $filename = 'c:\testfile';
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
= stat($filename);
print("$mtime");
c:\testfile
存在。
我在 SO 上看到了几个答案——this, for example——这似乎表明 stat()
返回的数组中应该有一些有意义的东西,但我还没有看到在实践中是这样的。
这是 Windows 7.
上的 64 位 ActivePerlstat 是否没有按照这些答案似乎暗示的那样进行操作,或者 Perl 的文件 date/time 函数在 Windows(或 64 位 Windows 或其他类似的系统下无法工作?)
File::stat 将 stat
替换为具有不同界面的文件。删除 use File::stat;
或适当使用其 stat
。
这很好用:
#!perl
use strict;
use warnings;
my $filename = 'c:\Users\username\Documents\asdf23rasdf.pl';
my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev,
$size, $atime, $mtime, $ctime, $blksize, $blocks
) = stat($filename);
print($mtime);
正如评论中提到的那样 - Perl 的内置 stat
与上面的工作方式类似。您不需要使用 File::Stat
或 File::stat
来执行此操作。它们只是为相同的功能提供不同的接口。
如果你想用 File::stat
来做,它是这样的:
use File::stat;
my $filename = 'c:\Users\username\Documents\asdf23rasdf.pl';
my $stats = stat($filename);
print( $stats -> mtime);