http://qs1969.pair.com?node_id=578749


in reply to If I was forced to program in another language, the Perl language feature I would miss most would be:

It isn't any one thing. It's the whole package. I mean, obviously I'd sorely miss several of the things you list (especially qw, trailing commas, statement modifiers, interpolation, and anonymous subs (and lexical closures)), but I'd also miss a lot of _other_ little things like that: transofrmations (chiefly map, grep, and sort), lookahead and lookbehind (or, in _really_ braindead languages, having regular expressions at all), the special quoting mechanisms for regular expressions that avoid the need to double-backslash everything (the single worst thing about Lisp, IMO), autovivification, and even really basic things like having both lexical and dynamic scoping available plus package namespaces, or even just hashes (which some reason are *way* more convenient to use than alists in most instances),

There are other languages that have some of these things, and I'm not sure any of them are totally unique to Perl, but Perl puts them all together in _one_ language. That's what I like about Perl: it does _everything_.

Terseness is also fairly important to the design of Perl. Almost any function can fit on the screen all at once, and most can fit in half the screen so that I can look at two places in my code at once and still see enough context to know what's going on. This greatly reduces scrolling and confusion and saves a lot of time and frustration. When I do have to write a long function that won't fit on the screen, it's usually because it's returning a big long string of some sort, and the logic in that case is pretty easy to follow anyway.


Sanity? Oh, yeah, I've got all kinds of sanity. In fact, I've developed whole new kinds of sanity. Why, I've got so much sanity it's driving me crazy.