in reply to Idioms considered harmful

One of the things you constantly do as a programmer is learning new things. In Perl, there's a lot to learn. Going from Perl Baby Talk to Idiomatic Perl is a long process in which one learns to express themselves well.

Other people reading your code and finding it difficult to read should not run screaming to you and complain about unreadable code. Instead, I think that they should ask you if the technique you used is a common idiom in Perl. If yes, they should master the idiom themselves and possibly teach others too. Mind you, bad code is bad code, but there are many short, fast and elegant Perl solutions which are not immediately obvious, but on closer inspection, are very valuable things to know.

Python, which is praised as an easy-to-read language, has a number of idioms. I'd be hard-pressed to believe that someone's first encounter with, for example, list comprehensions is going to be more successful than the Schwartzian Transform (Ok, maybe that's a little strong, but I'm sure you get my point :-).

I think that being a good programmer requires you to keep an open mind about things you don't know. Crying "I can't read this!" when a little more investigation shows that it's a very elegant solution is not my idea of keeping an open mind.

--
All that is gold does not glitter...