У меня есть многомерный хэш, который выглядит следующим образом:Pass вложенной хэш подпрограмма
my %hashTable;
$hashTable{'1'}{'A'} = "red";
$hashTable{'1'}{'B'} = "blue";
$hashTable{'2'}{'A'} = "orange";
$hashTable{'2'}{'B'} = "purple";
Я хочу, чтобы передать внутренний хэш в качестве аргумента в подпрограмму. Например,
hashFunc($hashTable{'2'});
sub hashFunc{
my %innerHash = $_[0];
}
Однако, когда я вызываю функцию как hashFunc($hashTable{'2'})
, я получаю ошибку
Reference found where even-sized list expected
Как правильно обеспечить внутренний хэш в качестве аргумента в подпрограмму?
какую версию Perl вы используете. У меня не было ошибок с этим кодом. – Arseniy
Я также не получаю эту ошибку. Пожалуйста, уточните вашу среду. –
Это абсолютно ошибка в каждой версии perl. Включите предупреждения, если вы их не увидите. – mob