http://www.perlmonks.org?node_id=1033208


in reply to Possible for Map to create Hash of Hash?

Several of the solutions batted-about here so far suffer in my humble from “the cardinal sin of brevity.”   Yes, they are short, but they are not clear.   The code, whatever it is, should be abundantly clear and also readily maintainable, even as the requirements are known to change and evolve over time.   I deal mostly with existing systems, and it is quite painful to watch “clever” code reacting like a bowl of fragile gelatin to what should have been an ordinary and small evolution.   I never care for “how few lines it takes,” and assume that there are always a few more microseconds to spare.   (Granted, I do not deal in über-performance situations, at least not in Perl.)   Please, write it in the most obvious way possible, and add plenty of comments.

Replies are listed 'Best First'.
Re^2: Possible for Map to create Hash of Hash?
by FloydATC (Deacon) on May 13, 2013 at 15:55 UTC
    It's almost always useful to explore other ways to express yourself, be it in english or in Perl. Whether or not it is wise to use those newfound expressions in public or production is an entirely different discussion.

    So, it turns out that map() seems like an awkward way to create a Hash of Hashes. That's fine. Simply seeing map() used in different ways can help to unlock its usefulness, by seeing it put to use. It certainly did for me.

    Earlier today I learned about a new and bizarre way to use glob() for calculating permutations. The code was nearly incomprehensible and I'd never actually use it for anything but new and interesting ideas were sparked.

    -- Time flies when you don't know what you're doing
Re^2: Possible for Map to create Hash of Hash?
by Anonymous Monk on May 12, 2013 at 16:51 UTC
    It's called functional programming and the OP explicitly wanted to know if it's feasible with map.

    So if it's not clear enough for you, better switch to BASIC.

    Please don't try to bla bla us down to your "standards"!