Odd. Around 2004, I switched from Perl to Python for all the same tasks, and I barely noticed: it was a matter of weeks before I was just as fluent in Python as I had been in Perl. What's your experience been like?
Yeah, there are times when it's easy to be frustrated at the roundabout way you have to do certain things in Python compared to Perl; I also found the latter to be true on other occasions so it's swings and roundabouts.
My side point was really just that if you know Perl, you don't have to do much to learn Python. Another commenter in this thread says Ruby's easy to a Perl-head, but I didn't find that to be the case personally.
Well in general, if you're a polyglot programmer (which all Perl programmers should be because honestly, nobody in their right mind is going to let you program only in Perl all day), you don't have to do much to learn either one.
These three though, have more in common. They all have roughly C-like syntax, passable functions, simple I/O, and good vector and dictionary support by default. To me, they're all the same language in different suits (well, pant-suits in ruby's case ;-).
The whole language is all One Way To Do It-ified. It's fine, there's nothing wrong with it, I just always feel a lot more like I'm part of a creative process when I'm working with perl, like it's this magic goop I can mush around and throw at anything and it'll do everything I can think of. With python, it feels more like I'm trying to fit my program into the python world, which is very nice and square and proper and everything works perfectly fine, except if I happen to want to do it the other way just for kicks, I can't. Or, worse, I can and the performance is crap for no obvious reason (or a very good obvious reason that should've been fixed ages ago by relaxing things just a little bit).
I used to be a real big python fan, now it just seems like too much training wheels. I like perl's weirdness: its global variables, implicit returns, gotos and loop labels, weird calling conventions that, while unexpected, are perfectly well documented and reliable, and _boy_ do I love its string support.
Ok, I was sort of hoping for a more concrete example. Do you mean like not being able to use 'unless' constructs? Not having regular expression operators? Not being able to reference default variables like $_? What is an example of doing it "the other way"?
I can usually find several different ways to do anything in Python, too. In fact I find this is true even for trivial things. For example, here are 4 ways to parse /etc/passwd and return a list of objects such that you can reference each value by the field name, for example:
I disagree. Python is incredibly restrictive when you're used to perl. I would be so frustrated if I went that direction.