コンストラクタをハッシュで呼び出すときに問題があります。 エラー:Perl - コンストラクタのハッシュ割り当ての要素数が奇数
"Sumcheck.pmの4行目のハッシュ割り当てで奇数の要素です。" Sumcheck.pmは次のようになります。
package Sumcheck;
sub new {
my ($debug, $debug_matches,%checkHash) = @_;
my $self = {};
$self->{DEBUG} = $debug;
$self->{DEBUG_MATCHES} = $debug_matches;
$self->{CHECKRESULT_OK} = "COMPLIANT";
$self->{CHECKRESULT_ERROR} = "NONCOMPLIANT";
$self->{checkHash} = %checkHash;
#print %checkHash;
bless($self);
return $self;
}
1;
、私はこの(単にランダムなハッシュ)のようにそれを呼び出す:私はこのエラーが出るのはなぜ
use Sumcheck;
$debug = 0;
$debug_matches = 1;
%checkHash = ( 'The Shining' => 'Kubrick',
'Ten Commandments' => 'DeMille',
'Goonies' => 'Donner',);
$sumCheck = Sumcheck->new($debug, $debug_matches, %checkHash);
?どのように解決されますか?このように呼ばれるメソッドへ
Thxを:)
オブジェクトに* reference *を '%checkHash'に保存することを意味しますか? '$ self - > {checkHash} =%checkHash' [sic]はあなたが望むことをしません。 – pilcrow