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!
Richard
In reply to Referncing a local array outside by richard_hawkes
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |