Jon Serra wrote: >Greetings, > > I have an array, each element will contain a reference to another array. How >can I dynamically generate each of those references such that each reference is >unique. I am trying to create dynamic 2d arrays. TIA JON > # # The key is understanding 'my' and how perl's garbage collection works. # # Each time we enter a sub, my creates new variables and when we return # a reference to those variables they are ours to keep (unlike C). # # The next time we reach the sub we will get new variables and the old # will be unaffected. # my @array = (['a1','a2','a3'],['b1','b2','b3'],['c1','c2','c3']); print_array(@array);
my @other_array = make_2d_array; print_array(@other_array); sub make_2d_array { my @array; # Sorry for using ++ on a string! I couldn't resist. # $i = 'a'; # ++$i; # now $i eq 'b'!!! push(@array,make_simple_array($i)) for(my $i='a';$i le 'c';++$i); } sub make_simple_array { my $rowlabel = shift; my @array = (); push(@array,$rowlabel.$i) for(my $i=1;$i<4;++$i); return \@array; } sub print_array { for my $arrayref (@_){ for my $element (@$arrayref){ print "$element\t"; } print "\n"; } } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]