我在Perl编写我的第一个程序,并写道:
use strict; use warnings; $animal = "camel"; print($animal);
当我运行它时,我从Windows命令行获取这些消息:
Global symbol "animal" requires explicit package name at stringanimal.pl line 3 Global symbol "animal" requires explicit package name at stringanimal.pl line 4
请问,这些消息是什么意思?
解决方法
用严格;强制您在使用变量之前声明变量.如果你没有(如在你的代码示例中),你将得到该错误.
要声明您的变量,请更改以下行:
$animal = "camell";
至:
my $animal = "camell";
有关更深入的说明,请参阅“Declaring variables”,以及use strict
的Perldoc部分.
附:骆驼拼写为“骆驼”:-)
编辑:错误消息实际意味着什么是Perl找不到名为$animal的变量,因为它尚未声明,并且假定它必须是包中定义的变量,但是你忘了用它作为前缀包名,例如$的packageName ::动物.显然,这不是这种情况,你根本就没有声明$animal.