" is all fine and good, but I don't think writing Perl like a Java (or Smalltalk) programmer will necessarily help you. To use some paradigm in Perl, you need to learn what it lets you do, how to implement it and, at least as importantly, when *not* to use it. I would focus on expressing solutions naturally rather than on forcing them all into a particular box. If you want to learn what OO is good for, play around in Smalltalk, which forces you to use it for everything.