Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Re: Perl Idioms Explained - my ($foo, $bar) = @{shift(@_)}{qw/ -foo -bar /}

by Roger (Parson)
on Mar 01, 2004 at 22:43 UTC ( #333084=note: print w/replies, xml ) Need Help??


in reply to Re: Perl Idioms Explained - my ($foo, $bar) = @{shift(@_)}{qw/ -foo -bar /}
in thread Perl Idioms Explained - my ($foo, $bar) = @{shift(@_)}{qw/ -foo -bar /}

I would agree with you that this is not the best approach and I don't use it in my code anyway. Yesterday someone asked in the CB about what the following code is doing:
my ($foo, $bar) = @{+shift}{qw/ -foo -bar/};

I thought it might be a good idea to post it. It's not that obvious to the less experienced coders that the hash slice @values = @hash{@keys} is involved. There was a supersticious '+' in the original question as well, which I have removed.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://333084]
help
Chatterbox?
[LanX]: ref! not name
[marioroy]: Hi all, am looking up __SUB__. Interesting.
[marioroy]: That's cool.
[marioroy]: Thanks. Have learned a new thing in Perl.
[MidLifeXis]: Hmm, do NTC nodes timeout? I thought considerations were forever.

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (11)
As of 2017-05-24 17:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?