不要在eclipse中使用Perl Operator` ...`

时间:2014-07-16 06:20:12

标签: eclipse perl

代码:

$cmd = "dir";

$res = `$cmd`;

错误消息:

Name "main::res" used only once: possible typo at C:/workspace/test_perl/main.pl line 2.

版本是ActivePerl 5.16.3,eclipse luna。

操作系统是Windows 7 32位。

出了什么问题?

我不知道......真的....帮助我...

3 个答案:

答案 0 :(得分:2)

警告很清楚。您只使用$res一次。您将数据放入变量,然后不使用它。没有那行代码,你的程序将以相同的方式工作。要删除该警告(并且它只是一个警告 - 而不是错误),只需在代码中的某处再次使用该变量即可。也许打印出这样的价值或类似的东西。

如果您不想要$cmd的输出,请不要收集它。也许使用system()代替反叛。

在评论中,您添加:

  

<$a=1;><$a = scalar @array;>是可能的

嗯,$a很特别($b)。您在排序块中使用它的事实意味着它不受某些检查的影响。您可能不应该在代码中使用$a$b(排序块除外) - 无论如何,它都是变量的可怕名称。

答案 1 :(得分:2)

没有错。您已为变量指定了值,然后决定不使用它。

Perl只是警告你可能做错了什么,例如:

$res = `$cmd`;
if ($red eq 'ABC') {
    # Unreachable due to typo in condition
}

这只是一个警告,您可以选择忽略它。事实上,您可能应该忽略它并继续编写代码的其余部分,我只能假设它会以某种方式使用$res并消除警告。

答案 2 :(得分:0)

Eclipse只向您显示变量res仅使用一次。您指定了一个值,但从不使用它。