I often find myself coding in OOP using the interfaces provided by CPAN authors. I also make a conscience effort to modularize code for easy reuse within the same script, often creating object-like structures for sake of "compartmentability". However, I've yet to create my own OO packages for large projects, either out of concern that I'll really screw something up, or an ignorance of the best way to break everything into classes.
What guidelines do other monks use to determine the right project for OO design methods? Is it a concscience design decision from the get-go, or is it a "fork in the road" that just happens when the time is right?