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.
@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";
saídas
5 6 7 8
5 6 7 8
1 2 3 4
5 6 7 8