My last job was programming a snazzy Perl system. My current job is at a startup that my last boss helped found. He chose Ruby because he was tired of trying to hire for Perl programmers. After being involved with the hiring process over there as well, I'm inclined to sympathize. Honestly, we ended up just mostly advertising for programmers with experience in Ruby/Python/etc who would be willing to do Perl.
That's the only insurmountable-mountain I know of.
(Postscript. If you're the rare actual-really-good Perl programmer looking for a job, I am aware of two places willing to hire you, one in Sunnyvale and one in NYC. PPS. Sorry, probably no telecommute. But I don't work there these days so I'm not sure.)
By contrast, I assume you can say something like "Object-oriented software engineer (Python)" or "Object-oriented software engineer (Ruby)" (or Frontend Engineer / Backend Engineer / etc) and not have this particular set of problems. I don't know what problems you would have, but... not those.
Now, to be fair, it worked marginally better when the company-recruiters weren't all jerks about letting us post a programming challenge with the posting (because it didn't fit in with a preexisting workflow)... which makes it easier to find the random Spanish major with decent programming instincts and a little Perl. But still.
Most of the great Perl programmers I know either have full-time jobs or have little desire to relocate. (I'd entertain interesting short-term telecommute gigs now and then myself.)
Honestly not trying to start a religious war here - just curious - and I think it's fair to compare the two languages as they are both runtime interpreted and have relatively similar characteristics (and obviously Ruby took a good dose of inspiration from Perl, anyway).
Much of Perl's use is by sysadmins, which means it plays well in their space. By contrast, much of Ruby's use is by web developers, many of them on bastardized MacOS systems (they're born bastards, it's not the developers' fault ;-). Which means that Ruby's packaging is whack.
I don't hack much of either, though work around both. The nice thing about Perl from my perspective is:
1. It's included with the system. I run Debian/Ubuntu boxes if I can possibly help it, Perl is of of the tools used to write a whole slew of system scripts, and as a consequence, it's very well managed within the distro. Red Hat/CentOS aren't far behind.
2. CPAN plays nice. Under Debian, your CPAN bundles are installed to /usr/local/ Debian's just sorting out where to store Ruby gems.
Thanks to chromatic for mentioning perlbrew. I've encountered RVM in the past month or so and have been trying to wrap my head around it. Understanding RVM in terms of perlbrew helps a lot:
That's exactly what I'm doing. Reliability is only one reason I chose Perl over Ruby, but upgrading three real-world applications my business relies with their dependencies on to a new major release of Perl 5 in an afternoon while doing other things and only having to intervene three times is a tremendous boon.
Upgrading from Ruby 1.9.2 to 1.9.3 wasn't that easy.
* I've had more years of Perl than I have of Ruby. While there's not a massive difference it comes a bit easier to my fingers and brain.
* The testing framework is better - it's much easier to integrate different styles of testing and integrate tests running in other languages
* I can usually get more people to do my work for me with CPAN than I can with rubygems
* Moose has some interestingly different ways of breaking up abstractions (Moose is the de facto way of doing OO in Perl now. Moose is to Perl as CLOS is to Lisp)
You're probably not going to be suddenly more productive if you switched to Perl - but there are some plus points. As does Ruby of course.
Swings or roundabouts. Your choice :-)
DBIx::Class, Moose, Catalyst, Template Toolkit - these are a joy to work with. People seem to be just ok that they have Rails, bitch about Active Record, and honestly, just don't seem to love their tools.
TAP-based testing is awesome sauce. Ruby gets this so wrong with all tools checking return values of scripts + the occasional hacked together jUnit outputter. Even the testing tools stolen from Ruby (like Test::BDD::Cucumber (which I may have written)) use TAP and Perl's testing tools all the way down.
Finally: there's CPAN. It Just Works. I started off a Perl dev, and use of any other language's package system has just made me sad face.
(and I'm saying this as somebody who love's Perl - I'm not seeing the connection)
Maybe I need to know Ruby or Python? :D
Send me a CV and I can make sure it gets to the right people.
I also hear Blekko is all Perl (it's the dmoz directory-people making a search engine. it's got social-search-related features, too, or something like that.) Apparently they have some fancy sophisticated technology for their backend systems (store big bitfield indexes on SSDs with a disk-backed store for the rest, spread across dozens of nodes, etc.) But I don't know anyone actually working there.
If you have the initiative you can look up their job applications yourself :P
(I've been using their perl/mason based ticketing system, RT, for 5 years)