Perl's implementation of OOP techniques is somewhat "grafted on to" a language which strictly speaking does not require you to use them. You can therefore use a package as the source of "an object," or as a collection of subroutines (whether or not those subroutines are exported). Instead of the language insisting that you must do things a certain way, "there's more than one way to do it.™"