http://www.perlmonks.org?node_id=316444


in reply to package Foo; isa Bar; why not?

Here's a variation I came up with using Filter::Simple:

package Filter::ISA; use Filter::Simple; FILTER_ONLY code => sub { if ( /package\s+(.+?)\s+isa\s+(.+?);/g ) { my $name = $1; my $base = $2; if ( $name !~ /;/ ) { $base =~ s/,/ /go; s/package $name isa (.+);/package $name; use base qw( $base );/o +; } } }; 1;

It lets one do things like:

package A isa B; package D isa E,F;

I'm kinda tempted to post it to CPAN now, but I imagine there's a lot better stuff out there :)