我是這個網站的新手,請耐心等待,如果這個問題已經在其他地方得到了解答。我試圖從模塊「codons1.pm」中調用一個子程序「bar」,並且遇到錯誤: 無法通過軟件包「codons1.pm」找到對象方法「bar」(也許您忘記了加載「codons1 。下午」?)。主要的腳本是這樣的:Perl:無法通過程序包找到對象方法欄
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;
我使用$我,這樣我可以通過一個循環加載多個類似的模塊。歡迎任何建議,並提前致謝。
你加載的文件名,但畢竟是不一樣的包名。包名稱由'package'關鍵字定義。文件名無關緊要,除非您使用裸詞作爲'require'參數。例如。 '使用foo',它尋找'foo.pm'。 – TLP