Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^15: Is there any difference between prototype % and @ ?

by BrowserUk (Pope)
on Feb 24, 2013 at 08:37 UTC ( #1020381=note: print w/ replies, xml ) Need Help??


in reply to Re^14: Is there any difference between prototype % and @ ?
in thread Is there any difference between prototype % and @ ?

sub hpairs (\%) { my $href = shift; map[ each %$href ], 1 .. keys %$href; } my %salary = ( boss => 1_000, secretary => 300, admin => 600, janitor => 150, ); print for map { "$_->[0] earns $_->[1]" } sort { $a->[1] <=> $b->[1] } grep { $_->[1] > 500 } hpairs %salary; __END__ admin earns 600 boss earns 1000

Or prettier:

sub hpairs (\%) { use enum 'KEY', 'VAL'; my $href = shift; map[ each %$href ], 1 .. keys %$href; } my %salary = ( boss => 1_000, secretary => 300, admin => 600, janitor => 150, ); print for map { "$_->[KEY] earns $_->[VAL]" } sort { $a->[VAL] <=> $b->[VAL] } grep { $_->[VAL] > 500 } hpairs %salary;

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.


Comment on Re^15: Is there any difference between prototype % and @ ?
Select or Download Code
Re^16: Is there any difference between prototype % and @ ?
by LanX (Canon) on Feb 24, 2013 at 09:55 UTC
    nice, but

    1. doesn't even try to use the hmap or hgrep you defended for so long
    2. you needed to introduce a completely new function hpairs
    3. still needs a unhpairs to flatten LoA before assigning after chain to a new hash
    4. my hmap could already be used instead of your hpairs (and unhpairs) in this approach ...

    Let's count, you're going to introduce 5 new functions where I only need 3 to cover all discussed cases...

    You really hate symmetry, don't you?

    Cheers Rolf

      1. doesn't even try to use the hmap or hgrep you defended so long

        I made no attempt to "defend". There is nothing to "defend".

        I offered an alternative, With reasoning. (I'm not forcing anyone to agree; nor use my ideas.)

      2. you needed to introduce completely new hpairs

        I use (or construct) the right tool for the job.

      3. still needs a unhpairs to flatten LoA before assigning to a new hash after chain

        Nothing new required, map serves the purpose perfectly.

      4. I could already use my hmap in your solution, so no need to create hpairs

        Look as hard as I might; I can't find your definition of hmap?

      5. you really hate symmetry, don't you?

        Nope! I "hate" very little. (And is that less "personal" that my recognising your ability?)

        But I do not seek to artificially impose symmetry where it does not naturally belong.


      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.
        LOL

        > I can't find your definition of hmap?

        Strange ... I always rated you as one of the more adept perlers.

        hmap was left as an exercise

        Cheers Rolf

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (5)
As of 2014-11-28 04:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (193 votes), past polls