我正在尝试在perl脚本中使用stat()。 我已经阅读了关于perldocs的文档,这些文档说如何使用它:
$mode = (stat($filename))[2];
但这不起作用:
$mode = (stat($filename))[2];
print $mode;
Use of uninitialized value $mode in print at ...
我认为需要另一种语法来访问stat返回的值。 Data :: dumper返回此结构:
@stat = stat($filename);
print Dumper(@stat);
$VAR1 = bless( [
48,
305368,
33188,
1,
0,
0,
0,
'2011',
1397569653,
1397569653,
1397569653,
4096,
8
], 'File::stat' );
答案 0 :(得分:9)
显然,你也有一行
use File::stat;
在你的程序中,忘了提及它。 File::stat使用返回对象的版本覆盖内置stat
函数。您应该阅读its documentation。
在您的情况下,您需要:
use File::stat;
my $mode = stat($filename)->mode;
答案 1 :(得分:-1)
你可以用数组切片(stat $ filename)[2]
来做