Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: Empty List miracle (2)

by Sandy (Curate)
on Apr 29, 2010 at 14:20 UTC ( #837549=note: print w/replies, xml ) Need Help??

in reply to Empty List miracle (2)

If you compare the output of your empty_list routine in scalar and list context:
sub empty_list { return @{ [] } } my @y=(empty_list())[0]; my $x = (empty_list())[0]; use Data::Dumper;print Dumper \$x,\@y;
You will see that @y is an empty array, and $x is undef.

think of the difference between using $x and @y in your hash declaration:

my @y=(empty_list())[0]; # @y = (); my $x = (empty_list())[0]; # $x = undef; my %x = (foo=>$x); my %xx = (foo=>@y);
So, to use your function in your hash declaration, you need to force scalar context.
my %x=(foo=>scalar((empty_list1())[0]));

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://837549]
and the shadows deepen...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2017-06-27 23:44 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (617 votes). Check out past polls.