Syntactic Confectionery Delight PerlMonks

### Re: Is the number before, in or after the interval? using spaceship operator <=>

 on Nov 21, 2014 at 02:42 UTC ( #1107976=note: print w/replies, xml ) Need Help??

Whatever the question was, here's an answer:
```use constant ST => ('-1', ' =', ' 0', ' =', ' 1');
printf ' ' x 8 . "%s\n", join ' ', map sprintf('%2d', \$_), -9 .. 10;
while (<DATA>) {
my (\$l, \$r) = split;
printf "[%2d %2d] %s\n", \$l, \$r, join ' ',
map { (ST)[ (\$_ <=> \$l) + (\$_ <=> \$r) + 2 ] } -9 .. 10;
}
__DATA__
1 4
2 5
3 7
0 3
-1 5
-8 -2
Output:
```        -9 -8 -7 -6 -5 -4 -3 -2 -1  0  1  2  3  4  5  6  7  8  9 10
[ 1  4] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1  =  0  0  =  1  1  1  1  1  1
[ 2  5] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1  =  0  0  =  1  1  1  1  1
[ 3  7] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1  =  0  0  0  =  1  1  1
[ 0  3] -1 -1 -1 -1 -1 -1 -1 -1 -1  =  0  0  =  1  1  1  1  1  1  1
[-1  5] -1 -1 -1 -1 -1 -1 -1 -1  =  0  0  0  0  0  =  1  1  1  1  1
[-8 -2] -1  =  0  0  0  0  0  =  1  1  1  1  1  1  1  1  1  1  1  1
I don't see why 0 should not be legal. <=> is not a ternary operator.

Create A New User
Node Status?
node history
Node Type: note [id://1107976]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?