in reply to Modular Code

Well, this simple example isn't really the heart of OOP. (Rather than get off on a rant, just search this site and others, as there is a wealth of OO info.) If all you want is a way to get the contents of a file in an array, and open it in one line, just make a function. It seems that what you want to do is make a module to group a lot of miscellaneous things together to make it easier. . . and this would be a good course to go, but I think it would be easier if you just made it a module, rather than an object-oriented approach. i.e., an OOP places the importance on data (and its abstraction), however, you seem to just want a quick way to do various, unrelated(and unrelated data, as a result) tasks. . . My advice, stick it in a module, but steer clear of OOP.

Book reccommendation: for a good OO book, check out Data Abstraction with C++ (not exact title). It was required in my C/C++ class, and it was pretty good--it showed examples with C++, but the principles can be applied around the board. Though, if you are interested in OOP w/ perl, checkout the objperl manpage and look for literature/links directly related to perl.