Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^6: Why doesn't Perl provide %_ as the hash equivalent of @_ in subs? (ugly++)

by Anonymous Monk
on Sep 28, 2013 at 06:12 UTC ( #1056104=note: print w/ replies, xml ) Need Help??


in reply to Re^5: Why doesn't Perl provide %_ as the hash equivalent of @_ in subs? (ugly++)
in thread Why doesn't Perl provide %_ as the hash equivalent of @_ in subs?

sub withNames{ local %_ = @_; ++$_{$_} for keys %_; };;

Try  ++$_ for values %_;

:P lol

Yeah, local %_=@_; is not hard to type :)


Comment on Re^6: Why doesn't Perl provide %_ as the hash equivalent of @_ in subs? (ugly++)
Download Code
Re^7: Why doesn't Perl provide %_ as the hash equivalent of @_ in subs? (ugly++)
by BrowserUk (Pope) on Sep 28, 2013 at 07:02 UTC
    Try ++$_ for values %_;

    That improves things:

    sub sansNames{ ++$_ for @_; };; sub withNames{ local %_ = @_; ++$_ for values %_; };; cmpthese -1,{ a=>q[ withNames( 1 .. $_*2 ) for 1..5 ], b=>q[ sansNames( 1..$_ ) for 1 .. 5 ] };; Rate a b a 35072/s -- -71% b 122333/s 249% --

    Though ... a benchmark of named parameters that doesn't use the names to access the parameters ... :)


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1056104]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (11)
As of 2014-08-27 21:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (253 votes), past polls