http://www.perlmonks.org?node_id=208631


in reply to qw with anonomous list ref

The bottom one creates a list of references, not a reference to a list.

C:\>perl -e "($x,$y)=\qw(a b);print $$y" b

Cheers,
Ovid

Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.

Replies are listed 'Best First'.
Re: Re: qw with anonomous list ref
by bart (Canon) on Oct 29, 2002 at 13:00 UTC
    Ooff, just like I thought. I would have been really confused if it hadn't been this way.

    BTW, OP: an excellent helper tool to see what Perl does to your data, is the standard module Data::Dumper:

    use Data::Dumper; print Dumper [qw(a b c)], \qw(a b c);
    Result:
    $VAR1 = [ 'a', 'b', 'c' ]; $VAR2 = \'a'; $VAR3 = \'b'; $VAR4 = \'c';
    The "$VARn" notation is the default variable name that Data::Dumper makes for each argument passed to the sub Dumper. So here you have 4 arguments: the first is for [qw(a b c)], the other for each item in \qw(a b c). It is indeed a list of references, with 3 items.