Возможный дубликат: Как передать один массив и одну строку в качестве аргументов функции?
У меня есть функция или подпрограмма, которая принимает первый параметр как массив, а второй - как скаляр. Например,
sub calc {
my @array = $_[0];
my $scalar = $_[1];
print @array, $scalar;
}
Проблема заключается в том, что функция делает массив равным первому значению переданного массива, а скаляр - второму значению переданного массива. Когда я хочу, чтобы первый массив был целым массивом, Мне не нужно делать глубокую копию массива. Например,
my @array = ('51', 'M');
my $scalar = 21;
и
calc(@array, $scalar)
напечатает 51 M
, когда я хочу 51 M 21
.