This is a module I threatened to release to the world a while back. Do evil things with it...
Class::Dynamic - Rudimentary support for coderefs in @ISA
=head1 SYNOPSIS
package Blargh;
use Class::Dynamic;
our @ISA = ("Foo", sub { rand < 0.5 ? "Bar" : "Baz" } );
=head1 DESCRIPTION
This module allows you to insert coderefs into a class's C<@ISA>.