#!/usr/bin/perl use strict; use warnings; sub same_sign { my $i=0; printf( "%2d %2d => ", $_[0], $_[1] ); s/-/$i=$i+1;/e for @_; $i!~/1/; } my $val = [ [ 1, 2 ], [ -1, 2 ], [ 1, -2 ], [ -1, -2 ] ]; for ( 0 .. $#{$val} ) { my ( $x, $y ) = ( $val->[$_][0], $val->[$_][1] ); print same_sign( $x, $y ) ? '' : 'not ', "same sign\n"; } #### 1 2 => same sign -1 2 => not same sign 1 -2 => not same sign -1 -2 => same sign