use Number::FractionP; package Number::FractionP::Foo; use base qw/Number::FractionP/; 1; package Number::FractionP::Bar; use base qw/Number::FractionP/; 1; my $n=Number::FractionP->new(1,4); my $f=Number::FractionP::Foo->new(1,4); my $b=Number::FractionP::Bar->new(1,4); print $n+$f,$/; print $n+$b,$/; print $f+$n,$/; print $b+$n,$/; print $f+$b,$/; print $b+$f,$/; __END__ 1/2 1/2 1/2 1/2 1/2 1/2