对于perl模块没有足够的争论 - 编译错误

时间:2016-02-08 14:10:57

标签: perl perl-module

您好我有一个名为feed_validator.pl的Perl脚本。从这开始,我调用一个名为fetch_sequence_vals.pm的Perl模块,如下所示:

my ($AIT_hash_ref,$SE_hash_ref,$SBC_hash_ref,$db_pack_val_tpb)=fetch_sequneceVals::seqVals();

fetch_sequence_vals.pm返回三个哈希的引用,如下所示。

return(\%AIT_hash,\%SE_hash,\%SBC_hash,$db_pack_val_tpb);

现在,我将这三个哈希值作为两个名为SortFeedSeqSeqComparator的Perl模块的输入传递,如下所示。

my $sortfeedtrailer = SortFeedSeq::sortfeedseq(
    $region,$sortfileout,$SortedTrailerFile,\%AIT_hash,\%SE_hash,\%SBC_hash);   
my $compareseq= SeqComparator::comparator(
    $region,$SortedTrailerFile,$seq_err,$gap_err,\%AIT_hash,\%SE_hash,\%SBC_hash);

当我运行feed_validator.pl时,它会抛出编译错误

Not enough arguments for SortFeedSeq::sortfeedseq

Not enough arguments for SeqComparator::comparator

我几天就陷入困境。请有人帮我解决错误。提前谢谢。

1 个答案:

答案 0 :(得分:1)

sortfeedseqcomparator各有一个原型。子的原型决定了对它的调用的语法,并且你违反了这些子的原型强加的语法。具体来说,您没有将正确数量的参数传递给潜艇。

由于我们不熟悉有问题的潜艇,我们无法告诉您对参数的期望。您必须查阅这些模块的文档,或者自己研究潜艇。