I'm torn between thinking there is value in learning some Perl and not really knowing that value might be.
I've found a lot of embedded wisdom in the "old school" stack. If you edit in vi, add some sed / awk / grep, and learn some bash, you'll find these tools start to come together and leverage one another up substantially. Perl might be more post-Bell Labs but it still was written and used by smart people to Get Stuff Done. It stands to reason that there are large returns on learning it.
But it isn't as approachable as Python. When I needed a glue language, I first looked at "Learning Perl" -- after a few days I concluded that, if this was The Path, then I would never get There. Python was much more approachable, and my code already gathers so many hacks that I'm glad my language forces me to make these at least somewhat intelligible.
I would learn Perl faster now. But for what? I've learned some PHP to meet client demand, and for web development the next language would be RoR. I bet Perl is better than bash for various sysadmin and utility tasks, but bash feels good enough for the simple stuff I do. If I needed to do something really beyond bash I'd turn to Python, and I'm not sure why Perl would be better. I suspect there's a lot of general knowledge embedded in Perl but I'm not sure how that gets extracted and made current among today's toolset for the tasks I have.
So to my mind, Perl is something of a sysadmin tool, better than bash and very useful for a workload focussed on system and file processing, on *nix, without much service to HTTP. I'd love to hear how it pays returns for people more focussed on back-end support of web development.
Minimalism, is both an advantage and a curse. You may be able to learn python quickly, and that is because the syntax and semantics are designed with a goal to do that. But unfortunately that is not the only problem programmers have, Learning how to program is problem only for first few weeks of your programming career, there after its hardly a problem. Beyond that verbosity becomes a curse, once you begin to understand what 10's of lines of code do, you wonder why you even need 10's of lines of code when something can be expressed more elegantly.
In my experience people complain about learning Perl for the same reasons why they don't get awk/sed/tr and other text processing utilities. Tools like that are a little difficult to start with, but offer tremendous advantages. Skip learning them, and suddenly you put yourself in a situation where you start your eclipse and write Java programs for every small bit of text processing task. That sucks up your time, effort and code forever. So its better to learn tools that are better designed to solve such problems.
>>and I'm not sure why Perl would be better.
Perl and Python are both excellent languages, so you find a range of problems that can be solved in both languages well. But try solving problems that Perl was specifically designed to solve, Pick up the book Higher Order Perl by Mark Jason Dominus(Its Free) and see for yourself how Perl helps you solve a certain kind of problems. I'm sure its the same case with Python too! Its good for academia, as its easy psuedocode.
Problems that can be solved in both Python and Perl can obviously be solved in any of them.
>>So to my mind, Perl is something of a sysadmin tool, better than bash and very useful for a workload focussed on system and file processing, on *nix, without much service to HTTP. I'd love to hear how it pays returns for people more focussed on back-end support of web development.
You have just described a very small subset of problems Perl can solve. Perl is used for developing very large application in nearly almost every industry.
Web programming != Entire Programming world.
Much of the software world never writes a web page. And they do programming too. But like us they don't tweet/Facebook/blog every time they finish writing a class.
I wouldn't sweat it if you are happy with Python. I haven't tried Python myself- I use Perl- but speaking to co-workers who prefer Python, when it comes to a glue language the two appear to be fairly interchangeable. There are some differences, but if all we are talking is glue, just go with what you like.
But there's probably a great deal more value to be had to knowing just one of the big three scripting languages (Perl|Python|Ruby) deeply than in knowing just a smattering of each.
I've found a lot of embedded wisdom in the "old school" stack. If you edit in vi, add some sed / awk / grep, and learn some bash, you'll find these tools start to come together and leverage one another up substantially. Perl might be more post-Bell Labs but it still was written and used by smart people to Get Stuff Done. It stands to reason that there are large returns on learning it.
But it isn't as approachable as Python. When I needed a glue language, I first looked at "Learning Perl" -- after a few days I concluded that, if this was The Path, then I would never get There. Python was much more approachable, and my code already gathers so many hacks that I'm glad my language forces me to make these at least somewhat intelligible.
I would learn Perl faster now. But for what? I've learned some PHP to meet client demand, and for web development the next language would be RoR. I bet Perl is better than bash for various sysadmin and utility tasks, but bash feels good enough for the simple stuff I do. If I needed to do something really beyond bash I'd turn to Python, and I'm not sure why Perl would be better. I suspect there's a lot of general knowledge embedded in Perl but I'm not sure how that gets extracted and made current among today's toolset for the tasks I have.
So to my mind, Perl is something of a sysadmin tool, better than bash and very useful for a workload focussed on system and file processing, on *nix, without much service to HTTP. I'd love to hear how it pays returns for people more focussed on back-end support of web development.