perl stat()不适用于带有特殊字符的文件名

时间:2013-03-01 12:16:46

标签: perl stat

文件名中包含'@'字符,perl的stat()似乎不起作用。

-rw-r--r-- 1 root root 0 Mar  1 17:33 /tmp/mark@er.txt

使用Perl命令:

#perl -e 'my $modtime = (stat("/tmp/mark@er.txt"))[9]|| die "$!"'
  No such file or directory at -e line 1.

任何人都可以帮助如何为stat()转义这些字符吗?

1 个答案:

答案 0 :(得分:3)

perl“看到”@er数组,因此stat /tmp/mark.txt perl -e 'my $modtime = (stat("/tmp/mark\@er.txt"))[9] || die "$!"' 。试试这个:

q()

或者您可以使用perl -e 'my $modtime = (stat(q(/tmp/mark@er.txt)))[9] || die "$!"' (感谢amon)

使用非插值单引号
{{1}}