代码:
$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位。
出了什么问题?
我不知道......真的....帮助我...
答案 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
仅使用一次。您指定了一个值,但从不使用它。