in reply to Passing references out of subroutines
A good way to find out what's going on if references start to get confusing is to use the module Data::Dumper, like this:my $r_array = [1,2,3]; # make an array and put a reference to it in $r +_array. - note square brackets my @array = (1,2,3); #make an array called @array - note normal bracke +ts $r_array = \@array; #then put a reference to @array in $r_array sub foo {return [1,2,3]) #this sub returns a reference to an array $r_array = foo(); #you could call it like this
and that shows you that $r_array1 actually contains a reference to a reference to an array (because there are two levels of square brackets).use Data::Dumper; print Dumper($r_array1, $r_array2); which prints out $VAR1 = [ [ 1, 2, 3, 4, 5 ] ]; $VAR2 = [ [ 6, 7, 8, 9, 10 ] ];
The best explanation of reference syntax is (imho) in Effective Perl Programming. You might also find perlref useful, if you haven't already looked at it.
andy.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Passing references out of subroutines
by davorg (Chancellor) on May 23, 2001 at 14:15 UTC |