in reply to OOP
Using OOP improves the way I think about the code I am producing. I found it helps abstract ideas into more durable code. When I started using OOP I moved existing functions into a class and restructured them to "think" like methods and this helped show a clearer path to combining existing code. I find it also helps when you go to write the program that does the task at hand (actual end use of the class) because I am able to focus on the task/result not the code at that point.
I would suggest you read the Camel (Programming Perl) OOP sections. I recently reread it and found lots of useful information.