Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^4: ChainMap of Hashes on CPAN?

by LanX (Saint)
on Mar 23, 2013 at 17:14 UTC ( [id://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)

Replies are listed 'Best First'.
Re^5: ChainMap of Hashes on CPAN?
by McA (Priest) 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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1025051]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2024-04-18 13:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found