in reply to Passing references out of subroutines

Wotcha. Some different approaches:
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
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:
use Data::Dumper; print Dumper($r_array1, $r_array2); which prints out $VAR1 = [ [ 1, 2, 3, 4, 5 ] ]; $VAR2 = [ [ 6, 7, 8, 9, 10 ] ];
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).

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
    You might also find perlref useful

    And also perlreftut (by our very own Dominus) for a kinder, gentler introduction.

    --
    <http://www.dave.org.uk>

    "Perl makes the fun jobs fun
    and the boring jobs bearable" - me