Clear questions and runnable code get the best and fastest answer |
|
PerlMonks |
Referncing a local array outsideby richard_hawkes (Initiate) |
on Dec 16, 2003 at 13:27 UTC ( [id://315052]=perlquestion: print w/replies, xml ) | Need Help?? |
richard_hawkes has asked for the wisdom of the Perl Monks concerning the following question: Hi, I'd like to create an associative array containing references to regular arrays (lists). The regular arrays are being created in a loop. Here is a basic example of what I'm doing:
#!/usr/bin/perl # Create some arrays of random numbers... foreach $NAME ('Fred', 'Barney', 'Wilma', 'Peggy') { local (@ARRAY) = (); for ($i = 0; $i < 5; $i++) { push (@ARRAY, int(rand(30))); } # And now store the reference in an associative array... $ALINK{$NAME} = \@ARRAY; } # Here's how I might print it out... foreach $KEY (keys (%ALINK)) { @ARRAY = @{ $ALINK{$KEY} }; foreach $ELEMENT (@ARRAY) { print $KEY . " " . $ELEMENT . "\n"; } } My question is: Am I risking it using the 'local' statement because it will be picked up later by garbage collection? If I am, then what's the best way to create new lists and keep a reference to them? Thanks your holynesses!
Back to
Seekers of Perl Wisdom
|
|