Don't ever use Perl for a new project. As someone who has written close to a hundred thousand lines of the stuff, maintains tens of thousands more written by others, knows dozens of CPAN modules by heart down to the source, and can't forget a single paragraph of the Camel or PBP no matter how hard I try: Perl advocacy is downright immoral. If it weren't for the kind of sentimental, provincial, outdated technology activism and apologism that this post represents we'd be vacationing on Mars.
I'll be more than happy to debate the merits of Perl 5 until you and I are blue in the face, but please don't make me. This conversation is so tired. My only motivation for posting this comment is to spare others the pain I've been through.
There are better options. Stop trying to rewrite your language with libraries: you don't have true syntactic abstraction. It's over, let go with some dignity.
The third paragraph is ... well, I don't even know what "true syntactic abstraction" means in this case, nor why it's so important to you.
All you've said is that you don't like Perl. Good for you, I suppose, but I expect better from HN comments. Inspecific, unsupported advocacy is, at best, a distraction.
I don't dispute that I make an appeal to authority in the hopes of diffusing a debate that I've already had and don't care to have again. You would be ill-advised to premise your argument on the supposition that I'm bluffing, however, as I am not.
I did not refuse to substantiate my claim, I merely indicated that said claim has been substantiated in excruciating detail (by myself and others) elsewhere, ad nauseam. If your legitimate interest is to have access to that information, and not to take cheap psuedo-textual pot shots at my well-intentioned comments then I will gladly reprise them for you, at any level of detail you desire. You've made no such request (as someone interested in defending Perl, or rather attacking its attackers, you most likely have all of that information already).
True syntactic abstraction can take multiple forms, but basically it means CL-style macros. It means the ability to introduce arbitrary language constructs indistinguishable from built-in ones. Perl advocates claim that Perl 5's glaring deficiencies are not a problem because there are CPAN libraries that address them, providing things like try/catch blocks. This (and other similar band aids for things like object-orientation) are frequently implemented using Perl's relatively weak support for syntactic abstraction (using subroutine prototypes, but then again, you already knew that).
I'll be the first to admit that I'm a weak debater and an even weaker writer. But my intentions in writing that comment were entirely sincere, and I am in fact capable of backing it up. You on the other hand are attempting to use your superior dialectic to attack the weakness of my writing, asking questions you already know the answer to, in the hopes that any passers-by can be confused into missing the forest for the trees.
It is profoundly ironic that your predictable decision to bring out the old chestnut (ad-hominem) was in a parenthesis that begins "I could...". It is even more ironic that you wind up by blasting me as "inspecific, unsupported advocacy" given that you are coming to the de facto defense of an article which is a battle cry for just that!
What is going on here?
This is probably the problem. PBP and the Camel are horribly outdated, and most of PBP's advice was crap when it first came out. You are going to hate Perl if you follow its advice to the letter. PBP Perl is the worst of Java mixed with the worst of Perl. Yeah, that's going to suck.
Anyway, as someone who probably writes and maintains as much Perl code as you (just see my 100+ Perl projects on Github), I've found Perl to be significantly simpler to write and maintain than other languages, and I would recommend it over nearly every other language that I have used. (Cases that I wouldn't recommend it for? For apps that need to be faster, I would use CL; and for apps that need to be massively concurrent I would recommend Haskell. But I certainly see no use for Ruby, Python, C#, Java, or Erlang, Perl's "usual" competitors.)
cheers, ben