use Number::Fraction; package Number::Fraction::Foo; use base qw/Number::Fraction/; 1; package Number::Fraction::Bar; use base qw/Number::Fraction/; 1; my $n=Number::Fraction->new(1,4); my $f=Number::Fraction::Foo->new(1,4); my $b=Number::Fraction::Bar->new(1,4); print $n+$f,$/; print $n+$b,$/; print $f+$n,$/; print $b+$n,$/; print $f+$b,$/; print $b+$f,$/; __END__ Can't add a Number::Fraction::Foo to a Number::Fraction::Foo at D:\perl\devlib\/Number/Fraction.pm line 119 Number::Fraction::add('1/4', '1/4', '') called at D:\Temp\nf.pl line 15 1/2 1/2 #### 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