Perl: referência de matriz versus matriz anônima
Esta pode ser uma pergunta boba ... O código a seguir produz o conteúdo de@arrayref
e@arraycont
respectivamente. Observe a diferença entre eles e a maneira como os valores deles são atribuídos. Eu sei o que a matriz anônima faz, mas alguém pode explicar por que há uma diferença?
Muito obrigado.
<code>@arrayref = (); @array = qw(1 2 3 4); $arrayref[0] = \@array; @array = qw(5 6 7 8); $arrayref[1] = \@array; print join "\t", @{$arrayref[0]}, "\n"; print join "\t", @{$arrayref[1]}, "\n"; @arraycont = (); @array = qw(1 2 3 4); $arraycont[0] = [@array]; @array = qw(5 6 7 8); $arraycont[1] = [@array]; print join "\t", @{$arraycont[0]}, "\n"; print join "\t", @{$arraycont[1]}, "\n"; </code>
saídas
<code>5 6 7 8 5 6 7 8 1 2 3 4 5 6 7 8 </code>