use Test; BEGIN { plan tests => 3 }; use Class::Dynamic; use warnings; # added to show point ok(1); our $testval = time & 1; package A; sub number { return 12 } package B; sub number { return 42 } package C; no warnings; @ISA = ( sub { $main::testval ? "A" : "B" } ); package D; @ISA = ( "A", sub { $main::testval ? "A" : "B" } ); package main; ok (C->number == ($testval ? 12 : 42)); ok (D->number == 12);