2012-06-01 85 views
0

我打电话的方法account_balance这是从srstest.pl文件Test.pm文件。我使用GnuPG签署我发送给注册服务商的请求。当我运行srstest.pl我得到以下错误:如何处理鼠标错误消息“ArrayRef'的验证失败”?

Attribute (extra_args) does not pass the type constraint because: Validation failed for 'ArrayRef' with value --no-secmem-warning at /usr/local/lib64/perl5/Mouse/Util.pm line 361 
Mouse::Util::throw_error('Mouse::Meta::Attribute=HASH(0x24d4970)', 'Attribute (extra_args) does not pass the type constraint beca...', 'data', '--no-secmem-warning', 'depth', -1) called at /usr/local/share/perl5/GnuPG/HashInit.pm line 6 
GnuPG::HashInit::hash_init('GnuPG::Options=HASH(0x1dd69a0)', 'armor', 1, 'default_key', '[email protected]', 'homedir', '/root/.gnupg', 'extra_args', '--no-secmem-warning') called at /usr/share/perl5/vendor_perl/Test.pm line 1766 
Test::_sign_client('Test=HASH(0x1db1d48)', 'REGISTRAR: 111111\x{a}REGISTRAR EMAIL: [email protected]\x{a}P...') called at /usr/share/perl5/vendor_perl/Test.pm line 245 
Test::account_balance('Test=HASH(0x1db1d48)', 'com') called at srstest.pl line 11 

Test.pm文件1766行:

$gnupg->options->hash_init(armor => 1, 
    default_key => $registrar_email, 
    homedir => $gpg_dir, 
    extra_args => '--no-secmem-warning' 
); 

我不明白什么地方出了错。

回答

3

从错误推测:extra_args应该是一个数组引用,所以你应该传递值作为匿名阵列

extra_args => ['--no-secmem-warning'] 
+0

实际上它对其他系统的工作。但尝试过这一个也得到错误gpg:没有默认密钥:没有密钥 gpg:[stdin]:clearsign失败:没有密钥 – Cindrella

+0

Mohini,[打开新的问题](http://stackoverflow.com/questions/问)这个无关的问题。 – daxim

+0

开了一个新问题:http://stackoverflow.com/questions/10848883/how-to-deal-with-gnupg-error-gpg-no-default-secret-key-no-secret-key-gpg-st – Cindrella