Perl では継承関係を @ISA 配列のツリー構造によって表します。
メソッドを呼び出そうとすると、メソッドが最初に見つかるまで @ISA ツリーをさかのぼりながら検索します。
最後までメソッドが見つからなかった場合は、必ず最後に UNIVERSAL パッケージに存在するメソッドを検索します。
つまり、UNIVERSAL パッケージはすべてのクラスの基底クラスの役割を果たします。
sub UNIVERSAL::hoge {
warn ref(shift), " can say hoge!\n";
}
my $obj = bless {}, "MyClass";
$obj->hoge(); # MyClass::hoge はないので、UNIVERSAL::hoge が呼び出される。
UNIVERSAL パッケージには isa()、can() といったユーティリティメソッドがあらかじめ定義されています。