Привет У меня есть Perl-скрипт с именем 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);
Теперь я передаю эти три хэшей в качестве входных данных для двух модулей Perl имени SortFeedSeq
и SeqComparator
, как показано ниже.
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
Я застрял в этом от нескольких дней. Пожалуйста, помогите мне в решении ошибки. Заранее спасибо.
Они являются подпрограммами внутри пакетов SortFeedSeq и SeqComparator соответственно. – nithin
Не проблема, о которой вы спрашиваете, но не должна '\% AIT_hash, \% SE_hash, \% SBC_hash' быть' $ AIT_hash_ref, $ SE_hash_ref, $ SBC_hash_ref'? Всегда используйте 'use strict; использовать предупреждения qw (все); '! – ikegami
Привет, я новичок в Perl. Что означает прототип. Как это узнать? – nithin