As everyone else has pointed out learning the basics of how OO in Perl is done will help you, not only with most non-moose packages out there but also with Moose itself since deep down Moose basically just uses a standard Perl OO layout. Basically once you’re comfortable you understand what Moose::Manual::Unsweetend is showing you’ll have a reasonable grasp of the OO principles in Perl. Damian Conway’s Object Oriented Perl book is an excellent introduction to Object Orientation period not just Perl’s flavor(s). I’d highly suggest reading it, or at least the first half of it.
Finally there is no reason to use Mouse (an alternative to Moose) unless you fall into two very specific categories, you have hard start up time constraints or hard dependency requirements. If you don’t fall into those two places Moose will almost always be a better answer.
Disclosure: I’m a core Moose developer, and have worked on and with Mouse.