in reply to ISA with packages ... A barebones minimal example
I am responding to your title, not your questions. If you want a barebones minimal example, drop the export. As JediWizard suggested, use OO, not function exporting. If you want a method, you need an object first.
Take a look at base ... use it instead of munging @INC directly, unless you absolutely have to.#!/usr/bin/perl -l package main; for (Dog->new, Cat->new, Cow->new, Foo->new) { print "Oh the ", $_->name, " goes ", $_->speak; } package Animal; sub new { bless {}, shift } sub speak { return "ERROR: did not override" } sub name { return ref shift } package Dog; use base 'Animal'; sub speak { return "Woof" } package Cat; use base 'Animal'; sub speak { return "Meow" } package Cow; use base 'Animal'; sub speak { return "Moo" } package Foo; use base 'Animal';
jeffa
L-LL-L--L-LL-L--L-LL-L-- -R--R-RR-R--R-RR-R--R-RR B--B--B--B--B--B--B--B-- H---H---H---H---H---H--- (the triplet paradiddle with high-hat)
|
|---|