in reply to Problem with program structure
Actually, ultimately, I suggest that you create a Cat object with certain attributes. Then you just need an array of these Cat objects. So, after mastering perldsc, read perltoot or by TheDamian's masterwork on the subject "Object-Oriented Perl"
Carter's compass: I know I'm on the right track when by deleting something, I'm adding functionality