1

ファイル名に '@' のような文字が含まれていると、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() でエスケープする方法を教えてください。

4

1 に答える 1

3

perl@erそこに配列が「見える」ので、 stating/tmp/mark.txtです。これを試して:

perl -e 'my $modtime = (stat("/tmp/mark\@er.txt"))[9] || die "$!"'

q()または、 (thanks amon)を使用して、補間されていない単一引用符を使用できます

perl -e 'my $modtime = (stat(q(/tmp/mark@er.txt)))[9] || die "$!"'
于 2013-03-01T12:23:40.070 に答える