http://qs1969.pair.com?node_id=1079942


in reply to Re: conditional statements in list constructors
in thread conditional statements in list constructors

Taking a reference to a list actually returns a list of references to each item in the original list. ... probably ... good ... to avoid ...:

$arrayref = \(...);

E.g.:

c:\@Work\Perl\monks>perl -wMstrict -le "my $not_really_an_arrayref = \('one', 'two', 'three'); print $$not_really_an_arrayref; " three

Replies are listed 'Best First'.
Re^3: conditional statements in list constructors
by kcott (Archbishop) on Mar 27, 2014 at 18:44 UTC

    Good point; however, the way you'd normally dereference an arrayref generates a fatal runtime error:

    $ perl -le ' my $think_this_is_an_arrayref = \(qw{one two three}); print qq{Probably not dereference like this: $$think_this_is_an_ar +rayref}; print qq{Probably would dereference like this: @$think_this_is_an_ +arrayref}; ' Probably not dereference like this: three Not an ARRAY reference at -e line 4.

    -- Ken