in reply to Possible Next Steps
A programmer who hasn't been exposed to all four of the imperative, functional, objective, and logical programming styles has one or more conceptual blindspots. It's like knowing how to boil but not fry. Programming is not a skill one develops in five easy lessons.
If "functional" is an alien style to you, I recommend a pure language, like Haskell. It will reshape your thinking about programming, without actually making you want to leave Perl for your day-to-day work :).
Update: Changed from Why I like functional programming link to the "Haskell" recommendation