My reason for using Perl is to escape from OOP. All of the modern mainstream programming languages, C++, Java, C#, Python, Ruby, JavaScript, etc are all strongly OOP.
On the other hand, Perl is very much a procedural langauge. Besides Perl code that is written in a procedural style, many Perl modules are written in C which is a strictly procedural language.
There is Moose for OOP stuff, but that is just added onto the language as an afterthought, and many libraries don't use it so we can at least say that Perl is less OOP then all of the other mainstream languages.
I don't know what it is, I just hate OOP. It seems absolutely revolting to me, so I stuck with procedural languages. Now I have found something I like even better: functional programming, so now I use languages like Lisp and Haskell.
As for Python, the only good features in that language: lambda, map, reduce, and filter were added by a Lisp hacker. Everything else in the language is inefficient scripting crap.
Perl is terse, and fast. The speed difference between perl and python might mean peanuts these days, but it's still true more often than not. Perl programs kick off far faster for instance (`time perl < /dev/null` `time python < /dev/null`) which can become important in some (not so hard to imagine) situations.
Perl also functions far better as a systems scripting language. Compare filtering a perl string through a Unix filter (perhaps an Awk program, another perl program, whatever) to the same thing in python. The difference is night-and-day.
$ time perl < /dev/null
real 0m0.033s
user 0m0.004s
sys 0m0.000s
$ time python < /dev/null
real 0m0.017s
user 0m0.004s
sys 0m0.012s
$ time perl < /dev/null
real 0m0.002s
user 0m0.004s
sys 0m0.000s
$ time python < /dev/null
real 0m0.017s
user 0m0.016s
sys 0m0.000s
$ time perl < /dev/null
real 0m0.002s
user 0m0.000s
sys 0m0.004s
$ time python < /dev/null
real 0m0.017s
user 0m0.008s
sys 0m0.008s
That's interesting. The first time perl is a lot slower, but further runs are a lot faster, while python starts medium and stays there. I tested this on more than one computer and results followed the same pattern.
The difference is that Perl got its good features from non-Lisp hackers that copied Lisp. Python got its good features directly from Lisp hackers.
I am quite certain of this because I doubt there are any Lisp hackers out there that would contribute to a language that has a periodic table of unreadable operators
The new version of Perl, Perl 6, introduces new features to Perl 5 that will make it an invaluable tool for obfuscated code contests such as unicode characters (you thought you had to decipher the meaning of only 256 characters? Think again) and meta-operators. Perl 6 obsoletes Perl 5 for these contests, even brainfuck is no longer a useful tool for obfuscated code contests, because it is no match for Perl 6.
Lisp isn't very useful for these obfuscated code contests, but if you are interested in actually writing computer programs then its worth looking into.
When I first got back into the CPAN game last year, uploading my first module in years, it failed testing first off, and Andreas emailed me to tell me not only that it had failed, but why.
I'll give up Perl when I'm dead - and even then, CPAN will carry on my name unto eternity.
I don't know.. the article basically comes down to "i use perl because someone helped me at some point, when using it"... I don't think i would base such a decision on that..
On the other hand, Perl is very much a procedural langauge. Besides Perl code that is written in a procedural style, many Perl modules are written in C which is a strictly procedural language.
There is Moose for OOP stuff, but that is just added onto the language as an afterthought, and many libraries don't use it so we can at least say that Perl is less OOP then all of the other mainstream languages.
I don't know what it is, I just hate OOP. It seems absolutely revolting to me, so I stuck with procedural languages. Now I have found something I like even better: functional programming, so now I use languages like Lisp and Haskell.
As for Python, the only good features in that language: lambda, map, reduce, and filter were added by a Lisp hacker. Everything else in the language is inefficient scripting crap.