2012-01-05 24 views
0

我将如何解决错误以下在我的代码:在faStat2线如何在Perl代码中解决“标量赋值中未初始化的值”?

使用标量分配未初始化值的59

#!/usr/bin/perl 
use strict; 
use warnings; 

... 

$~ = *OUTFILE; #This is the line it is complaining about 
my $cmd = $0; 
$cmd =~ s#.*/##; 
+2

我无法重现您的错误:http://sscce.org。与此同时,http://perldoc.perl.org/diagnostics.html。 – toolic 2012-01-05 19:57:21

+1

OUTFILE打开吗?另外'$〜= * OUTFILE'没有任何意义。也许'$〜='OUTFILE'(这也没什么意义)? – 2012-01-05 21:35:30

+0

马特,在你使用'...'的几个问题中,为了方便使用,你能否提供一个简单的例子。其他事情发生并不相关,只是导致问题的部分。只是让你更容易运行你所做的事情。 – 2012-01-07 03:46:38

回答

0

OUTFILE应该是单引号,因为没有他们,这是一个裸字并且在它前面的*被视为需要标量的项目。代码应该如下所示:

#!/usr/bin/perl 
use strict; 
use warnings; 

... 

$~ = 'OUTFILE'; 
my $cmd = $0; 
$cmd =~ s#.*/##; 
相关问题