Я хочу вызвать подпрограмму, передав ей около 4 массивов, затем получить первое значение каждого массива и затем создать новый массив (массив первых элементов переданных массивов) в подпрограмме, а затем вернуть обратномассив.Вот код, который я пробовал с
my @a = (97,34,6,7);
my @b = ("A", "B", "F", "D");
my @c = (5..15);
my @d = (1..10);
my @tailings = popmany ( \@a, \@b, \@c, \@d );
print @tailings;
sub popmany {
my @retlist = ();
for my $aref (@_) { #1
my $arrele = @$aref; #2
push @retlist , $arrele #3
}
return @retlist;
}
Здесь в # 1 я использую цикл и получаю первый массив, затем в строке 2 я назначаю весь массив переменной, думая, что по умолчанию perl будетхранить только первую переменную массива в @arrele.Когда я помещаю $ arrele в новый массив @retlist, извините, я не обращаюсь ни к каким примечаниям, поэтому моя процедура может быть неправильной.Но это приводит меня к выводу вроде 441110
, который не имеет смысла.
Пожалуйста, объясните мне код, как я могу это сделать.