ハッシュを使用してコンストラクターを呼び出す際に問題が発生します。エラーが発生します:
「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);
なぜこのエラーが発生するのですか? それはどのように解決されますか?
どうも :)