Python Or Perl

Not sure if this is the right section for this, but it seems convient. On to my point, I've heard a lot about both Python and Perl. I want to learn one of them but I'm afraid books are not cutting it plus I always prefer user input over articles anyways (more variety of information). I've been programming PHP for almost a year now, along with Java and Ruby, I want to add another language onto my growing toolbelt (So I can fly through college).

So, can someone give me some reasons why one might be better than the other, or what field one is good in and the other isn't? I originally started learning python, but I couldn't find any good books, most of them either didn't cover the basics or you stayed in the interpreter window the whole time and never actually wrote any full scripts (which is the way I like to learn). As for Perl I was also considering because a very good friend of mine said he absolutely enjoys the language and really suggests that I learn it. So I'm kind of stuck here and need some more input. Thanks.

Perl was (is) a great language, but it's becoming a tad grizzled and doesn't have the close-to-the-machine abilities that make its age immaterial. It was designed to produce reports, but Wall did a great job of migrating it to more serious applications.

All that said, in my opinion, Python will be superior for developing your problem-solving abilities. It isn't exactly calculator versus slide rule, but technology marches on.

I'm not really qualified on this subject because my experience with Python is liminted, but my opinion is like this.

Perl is a language where you Can Do It. Its creators did a pretty good job of "making easy things easy and difficult things possible" (their motto). If you're familiar with programming constructs you find Perl a language where doing things is very intuitive.

On the other hand, this comes at a price. Perl is a language with a very confusing structure. If you want to create complex, structured apps, Perl's lack of clear structure will hinder you.

My personal beef with Perl (as a Windows man) is its strong UNIX bias. Again, this makes many things easy, since UNIX has lots of cool functionality. But if you don't like to do things the UNIX way you have to resort to contortions.

In my experience at least, Python does not suffer from these issues. But as a result it does not have the intuitiveness and ease that Perl has. However Python does have the powerful high-level functionality of Perl.

Python has much better OO. It is possible with Perl, but somehow very complicated and strange. If you are willing to write a large app - I would definitely suggest Python.
And you have JPython which compiles directly to Java pseudocode which runs much faster.