Rafael Garcia-Suarez <[EMAIL PROTECTED]> wrote: :On 8/18/05, Peter Scott <[EMAIL PROTECTED]> wrote: :> This recently bit me: :> :> $ perl -wle 'print 42 if defined($h{foo}++)' :> 42 :> :> Now, before thousands of you reach for the flamethrowers, yes, I know :> - now - that this is documented. I found it in perlop right where it :> ought to be: :> :> | undef is always treated as numeric, and in particular is changed to 0 :> | before incrementing (so that a post-increment of an undef value will :> | return 0 rather than undef). : :This was documented by Hugo as change 19014 : :http://public.activestate.com/cgi-bin/perlbrowse?patch=19014 :Hugo, any comment on this ?
I'd much rather the behaviour were as Peter requests, but my synopsis in the thread covers my reasoning. Hugo