Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl Can';t调用没有包或对象引用的方法_Perl - Fatal编程技术网

Perl Can';t调用没有包或对象引用的方法

Perl Can';t调用没有包或对象引用的方法,perl,Perl,我正在学习Perl,我正在浏览 我从教程中获得了以下代码,它抛出了错误: Can't call method "forename" without a package or object reference. 包裹代码(个人7.pm): 呼叫代码(classatr2.plx): 我看不出它为什么会出错。我在Windows上使用Perl5,版本16。两个文件位于同一目录中。Everyone数组中的第一个元素为零: @Everyone = 0; 不能在零上调用方法: 0->forename

我正在学习Perl,我正在浏览

我从教程中获得了以下代码,它抛出了错误:

Can't call method "forename" without a package or object reference.
包裹代码(个人7.pm):

呼叫代码(classatr2.plx):


我看不出它为什么会出错。我在Windows上使用Perl5,版本16。两个文件位于同一目录中。

Everyone数组中的第一个元素为零:

@Everyone = 0;
不能在零上调用方法:

0->forename
要初始化空数组,只需使用

my @Everyone;

person7.pm文件与调用代码位于同一目录中。包名是Person,没错。根据我下面的教程,包名为Person,但文件名为Person7.pm,教程的use语句为Person7。如果我将“use Person”改为“use Person 7”,则无法找到pm文件。您是否检查了
everyone
返回的内容,以及您认为是什么?每个人都没有返回我期望的内容。感谢有疑问时,
使用Data::Dumper;打印转储程序($data_结构)将有助于找到问题!就这样。我完全忽略了这项任务。感谢您的帮助。当我从一个包中调用例程时,我连接到了这个错误,其中有些例程没有定义子关键字,这可能会使包无效(或者可能在包的末尾缺少返回值1)。
0->forename
my @Everyone;