summaryrefslogtreecommitdiff
path: root/lib/ISA.pm
blob: d18242c13afdb8a7b604c8df0aecad55ca7815e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package ISA;
use Carp;

sub import {
    my $class = shift;
    my ($package) = caller;
    foreach my $base (@_) {
	croak qq(No such class "$base") unless defined %{"$base\::"};
	eval {
	    $base->ISA($package);
	};
	if ($@ && $@ !~ /^Can't locate object method/) {
	    $@ =~ s/ at .*? line \d+\n$//;
	    croak $@;
	}
    }
    push(@{"$package\::ISA"}, @_);
}

1;