當試圖在其他perl文件中調用子例程(在用戶定義的模塊中定義)時,值嘗試在perl中使用PackageName :: ModuleName-> subroutine(「xyz」)調用子例程時獲取錯誤的參數值
#moduleName.pm
package PackageName::moduleName;
use strict;
use warnings;
use base 'Exporter';
sub callMe{
my($readArg)=(@_);
print $readArg;
}
#test.pl
use strict;
use warnings;
use FindBin; # locate this script
use lib 'path to parent directory'; # use the parent directory
use PackageName::moduleName;
if(my $temp=PackageName::moduleName->callMe("test")){
print" True : $temp\n";
}
$溫度的函數打印值:PACKAGENAME :: MODULENAME
無法找出原因。
P.S.在調用子程序時,我必須保持相同的約定
你的命名有點不吉利。您的_package_的名稱是'package'關鍵字後的所有內容。 _module_的名稱通常是相同的。在談論CPAN時,軟件包名稱的所有部分,但最右邊的部分通常稱爲_namespace_。有一個'Data'命名空間,裏面有幾個不同的模塊,比如'Data :: Dumper','Data :: Printer'和'Data :: Dump'。 – simbabque