in reply to Re^2: Object::InsideOut field type validation
in thread Object::InsideOut field type validation
I don't get it :-( I tried:
on perl 5.10.0, and got no warnings...use strict ; use warnings ; try() ; # none: 1 try(undef) ; # undef: 1 try(-1) ; # -1: 0 try(0) ; # 0: 0 try(1) ; # 1: 1 sub try { my ($s) = @_ ; my $r = validate_max_size(@_) ; if (@_ == 0) { $s = "none" ; } elsif (!defined($s)) { $s = "undef" ; } ; printf "%8s: %d\n", $s, $r+0 ; } ; sub validate_max_size { my $val = shift; ! defined $val || $val > 0; }
I don't know if there's an ointment for bracket-alergy as extreme as this... I would write:
'cos I'm comfortable with unaries binding tighter than binaries... but the effect is the same as what you writ.!defined($val) || ($val > 0) ;
Wait a tick... this gives the error you mentioned:
could it be that somebody, somewhere, is mapping undef to 'undef' ?try('undef') ; # Argument "undef" isn't numeric in numeric gt (>) . +..
|
|---|