Perl:无法通过包找到对象方法栏
发布时间:2020-12-16 06:23:32 所属栏目:大数据 来源:网络整理
导读:我是这个网站的新手,所以请耐心等待,如果这个问题已经在其他地方得到了回答.我试图从模块“codons1.pm”调用子程序“bar”,我遇到错误: 无法通过包“codons1.pm”找到对象方法“bar”(也许你忘了加载“codons1.pm”?).主脚本如下: use strict;use warning
我是这个网站的新手,所以请耐心等待,如果这个问题已经在其他地方得到了回答.我试图从模块“codons1.pm”调用子程序“bar”,我遇到错误:
无法通过包“codons1.pm”找到对象方法“bar”(也许你忘了加载“codons1.pm”?).主脚本如下: use strict; use warnings; my $i = 1; my $pack = "codons$i.pm"; require $pack; (my %temp) = $pack->bar(); print keys %INC ; 感谢(Perl objects error: Can’t locate object method via package),我能够使用%INC验证模块是否已加载. package codons1; sub bar{ #some code; return (%some_hash);} 1; 我使用$i,以便我可以通过循环加载多个类似的模块.欢迎任何建议,并提前感谢. 解决方法
你的包是codons1,你正试图打电话给codons1.pm->吧.以下任一项都可以正常工作:
my $pack = "codons$i"; require "$pack.pm"; $pack->bar(); 要么 my $pack = "codons$i"; eval "require $pack"; $pack->bar(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |