in reply to @ISA doesn't seem to work

The order you would be executing the code is, in part, as follows:

At the time when you ask the "Cow" to speak(), the "Cow" isn't an "Animal" yet.

Either move your test code to the bottom of the file or initialize @ISA inside of a BEGIN block.

        - tye (but my friends call me "Tye")