La ligne my @ARRAY = @$_;
(au lieu de = $_;
) est ce que vous êtes Vous cherchez, mais à moins que vous ne vouliez explicitement faire une copie du tableau référencé, j'utiliserais @ $ _ directement.
Eh bien, en fait je ne voudrais pas utiliser $_
du tout, d'autant plus que vous êtes susceptible de vouloir itérer @$_
, et vous utilisez $_
implicite dans la boucle interne aussi, et alors vous pourriez avoir un gâchis déterminer qui est $_
, ou si c'est même légal. Ce qui pourrait avoir été pourquoi vous copiez dans @ARRAY en premier lieu.
Quoi qu'il en soit, voici ce que je ferais:
for my $array_ref (@TWO_DIM_ARRAY) {
# You can iterate through the array:
for my $element (@$array_ref) {
# do whatever to $element
}
# Or you can access the array directly using arrow notation:
$array_ref->[0] = 1;
}
Pouvez-vous montrer les données que vous commencez avec et ce que vous voulez finir avec, même si pseudocode? –