Perl反引号:标志不存在

时间:2012-11-09 15:42:30

标签: perl ls backticks

执行以下代码段时,

sub list {
    my($self)=@_;
    my $file = $self->{P_Dir}."/".$self->{Name};
    print `ls –l $file`;
}

我收到此错误:

ls: cannot access –l: No such file or directory

我不确定是什么导致了这种情况,因为如果我手动在命令行中键入ls -l,我就不会看到错误。

2 个答案:

答案 0 :(得分:7)

你感谢复制的&粘贴的是Unicode短划线字符(U+2013),而不是ASCII连字符- (U+002D)

答案 1 :(得分:0)

嗯......虽然它对我有用:

$ cat test.pl 
#!/usr/bin/perl -w
use strict;
my $file = "rpm.pl";
print `ls -l $file`;

$ perl test.pl 
-rw-r--r-- 1 dheeraj dheeraj 922 2012-10-22 19:56 rpm.pl