Yes. Scripting powers of Perl are unmatched.
>>It may have been true in the mid-1990s, but things have changed since then.
Hardly anything has changed. No language has taken scripting that seriously. You are likely confused between dynamic languages and scripting langauges. There is a big difference. If you haven't noticed, well then that's the whole point behind Perl. You really need to use it to see what it is.
>>Python and Ruby both have a much cleaner syntax
Its not about having a cleaner syntax. Making it easy to learn, only means the complexity is left to the programmer to handle now. Either way some one needs to handle the complexity, Its either the programmer or the language. If you make the language simpler, the complexity burden shifts to the programmer.
>>yet still offer very comparable functionality, excellent portability, ample standard and third-party libraries, excellent documentation, supportive communities, great regex support, and basically everything else that Perl offers.
Python takes great care to purposefully avoid offering every thing that Perl offers.
>>Since everything positive about Perl is also offered by alternative languages today, and those alternatives are themselves much better than Perl in some respects
You will have to substantiate that point with some evidence.
>>Perl seems like a less and less enticing option each day.
That is being told since what? 1988?
Can you offer any examples of how that is true?
I started writing a detailed reply, but half way down I realized it might become a booklet project[Which is a very good project idea by the way]
I also realized I may not be able to justice to 3 decades of Perl history in one HN comment.
So the best I can do is point you out to two links.
http://hop.perl.plover.com/ and http://onyxneon.com/books/modern_perl/
Higher Order Perl is one of the best books I've read, but I feel that's much more about software development than scripting, teaching the fundamental techniques in functional programming.
Perl fits the same niche as English does for natural language - used everywhere, easy to learn for simple cases,very tough to master. The way I like to say it is that while most programming languages help you think more like the computer, perl helps the computer think more like you do.
I've read the awk and sed man pages so many times, yet everytime I have to type a command I have to read it again.
It's pretty clear that Perl does not hold the prominence it once held in the 1990s. So, yes, it is clearly becoming a less-enticing option for a lot of people, whether you're willing to admit this or not.
You can use Python for that, but the jump from Unix shell to Python feels bigger; everything is more verbose and less awk-y in Python. Which can be good for maintainability of bigger scripts, but feels heavyweight for some stuff.
Its about how such a feature interplays with rest of the language.
Frankly speaking in Python it looks like added after a lot after thought and a lot of reluctance. Same with regular expressions.
More specifically, Perl has advanced features with which meta-object protocols can be built with. See Class::MOP on which Moose is built.
> That is an example of what the OP is saying with Perl is an extensible language.
I think the difficulty with Ruby and Python is that both are fully object-oriented, which means it is difficult to create something that is truly orthogonal to the object model.
i couldnt find this one simply searching online
http://codefol.io/posts/Does-Ruby-Have-a-Metaobject-Protocol
...except for performance. The GIL is Python's achilles heel; if you throw threads at the problem Python gets slower while Perl actually uses all your cores. C.f. http://yaketyhack.blogspot.com/2010/07/threading-perl-vs-pyt...
BTW, I love Python.
I generally use a graphical debugger in Eclipse. I have used Python and Perl, and can't see too much difference between them. Whats better about the Perl one?
Cleaner syntax than the declarative class mentioned in the article?
> Since everything positive about Perl is also offered by alternative languages today, and those alternatives are themselves much better than Perl in some respects, Perl seems like a less and less enticing option each day.
To my mind though the benefit is in mutability of the language. Yes, there are other languages in this category (rebol, red, lisp), Perl is somewhere between these and Python and Ruby. If I were to order them from most mutable to least, I would go lisp, rebol, red, perl, (python and ruby). This is a powerful thing and of course with great power comes the possibility of misuse.
I've been known to say "perl5 is a lot like ruby except with usable OO" and it's very much a "ha ha only serious" sort of comment.
Python and Ruby both have a much cleaner syntax, yet still offer very comparable functionality, excellent portability, ample standard and third-party libraries, excellent documentation, supportive communities, great regex support, and basically everything else that Perl offers.
Since everything positive about Perl is also offered by alternative languages today, and those alternatives are themselves much better than Perl in some respects, Perl seems like a less and less enticing option each day.