Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^4: ChainMap of Hashes on CPAN?

by LanX (Canon)
on Mar 23, 2013 at 17:14 UTC ( #1025051=note: print w/ replies, xml ) Need Help??


in reply to Re^3: ChainMap of Hashes on CPAN?
in thread ChainMap of Hashes on CPAN?

Actually our local perlmongers group is "racially mixed" and we like comparing and learning from different approaches.

I raised a discussion about how easy the counting idioms are implemeted in Perl because undef ++ == 1 and autovivification and was wondering how JS, Ruby and Python and so on are trying to solve this.

(Our Haskell guy couldn't stop complaining how dirty Perl's behavior is)

Now try this in these languages

$count{$_}++ for @names

or

DB<135> @name=qw/rachel raymond matthew roger betty melissa judith c +harlie/ DB<136> push @{ $group{length $_} } , $_ for @name DB<137> \%group => { 5 => ["roger", "betty"], 6 => ["rachel", "judith"], 7 => ["raymond", "matthew", "melissa", "charlie"], }

This video was mailed to me with the remark "this is clean idiomatic Python" and the speaker talks for minutes about strategies to count and group.

There is indeed MOOOOOORE than one way to do it in Python where Perl has one simply way.

--> http://stackoverflow.com/questions/3496518/python-using-a-dictionary-to-count-the-items-in-a-list

We are quite fast in criticizing the downsides of some Perl features, it's worth showing where Perl profits from those features.

"Only an idiot learns from his errors, the smart guy learns from other's errors"
(attributed to Otto von Bismarck)

And not everything I learned in this video was a bad idea!

Cheers Rolf

( addicted to the Perl Programming Language)


Comment on Re^4: ChainMap of Hashes on CPAN?
Select or Download Code
Re^5: ChainMap of Hashes on CPAN?
by McA (Curate) on Mar 23, 2013 at 17:30 UTC

    Hi Rolf,

    I do have my own Python journey behind me. There are many things which are not bad. Be sure, I'm not a Perl fanatic. :-)

    McA

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (7)
As of 2014-09-16 10:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (9 votes), past polls