if( $a < $b ) { ## Do what is required when $a is the lessor } else { ## Do what is required when $b is the lessor } #### #! perl -slw use strict; use X; use List::Util qw[ min ]; my $a = X->new( .5, .5, .5, 1 ); my $b = X->new( .7, .9, .4, 1 ); print $a < $b ? 'a is the lessor' : 'b is the lessor'; print "\n-------\n"; print min( $b, $a ); __END__ [ 0:38:13.97] c:\test>junk3 a is the lessor ------- Argument "X=ARRAY(0x1824550)" isn't numeric in subroutine entry at c:\test\junk3.pl line 10. Argument "X=ARRAY(0x2251a4)" isn't numeric in subroutine entry at c:\test\junk3.pl line 10. X=ARRAY(0x1824550)