in reply to Re: checking ip ranges
in thread checking ip ranges

not to get off topic but your saying
($t[0] == $s[0] && $t[0] == $e[0]) ? $r[0] = 1 : $r[0] = 0;
isn't the same as
if ($t[0] == $s[0] && $t[0] == $e[0]){ $r[0] = 1; } else{ $r[0] = 0; }
right?

Replies are listed 'Best First'.
Re^3: checking ip ranges
by jwkrahn (Abbot) on Mar 13, 2008 at 20:52 UTC

    No it isn't:

    $ perl -MO=Deparse,-p -e ' ($t[0] == $s[0] && $t[0] == $e[0]) ? $r[0] += 1 : $r[0] = 0; ' (((($t[0] == $s[0]) && ($t[0] == $e[0])) ? ($r[0] = 1) : $r[0]) = 0); -e syntax OK $ perl -MO=Deparse,-p -e ' $r[0] = ($t[0] == $s[0] && $t[0] == $e[0]) +? 1 : 0; ' ($r[0] = ((($t[0] == $s[0]) && ($t[0] == $e[0])) ? 1 : 0)); -e syntax OK

    Update: for example:

    $ perl -le' @test = ( [ 10, 12, 14 ], [ 12, 12, 14 ], [ 12, 14, 14 ], [ 12, 12, 12 + ], [ 14, 10, 14 ] ); for ( @test ) { ( $t, $s, $e ) = @$_; print "1: $t $s $e"; $r = undef; ($t == $s && $t == $e) ? $r = 1 : $r = 0; print "2: $t $s $e $r"; $r = undef; $r = ($t == $s && $t == $e) ? 1 : 0; print "3: $t $s $e $r\n"; } ' 1: 10 12 14 2: 10 12 14 0 3: 10 12 14 0 1: 12 12 14 2: 12 12 14 0 3: 12 12 14 0 1: 12 14 14 2: 12 14 14 0 3: 12 14 14 0 1: 12 12 12 2: 12 12 12 0 3: 12 12 12 1 1: 14 10 14 2: 14 10 14 0 3: 14 10 14 0