in reply to Reference Question
Move my @doc inside the loop so you get a new instance of the doc array each time through. Consider:
use strict; use warnings; my @doc_nums = qw(1 2 3 4 5 6 7 8 9); my @docs; foreach( @doc_nums ) { my @doc; push @doc, int rand 10 for 1..3; push @docs, \@doc; } print "@$_\n" for @docs;
Prints:
9 5 8 9 5 7 2 2 1 3 0 4 8 6 4 6 1 7 6 5 5 8 6 9 9 9 7
or you could change the reference to a copy:
use strict; use warnings; my @doc_nums = qw(1 2 3 4 5 6 7 8 9); my @docs; my @doc; foreach( @doc_nums ) { @doc = (); push @doc, int rand 10 for 1..3; push @docs, [@doc]; } print "@$_\n" for @docs;
|
|---|