On Wed, Feb 22, 2006 at 03:47:45PM -0800, Ryan Gies wrote:
> I've been frustrated with the "Use of uninitialized value" warning 
> myself, and was hoping someone could shed some light on it as well. 
> Point being, this will issue the warning:
> 
>     #!/usr/bin/perl -Tw
>     sub max { return $_[0] > $_[1] ? $_[0] : $_[1]; }
>     max();
> 
> In what seems like logic, the undef value should behave like zero or 
> empty string when using operators like: '.' ',' 'eq' 'lt' '>' etc...

The undef value *does* behave like zero or the empty string, as
appropriate.  That's why you get a valid result, rather than an error or
undefined behavior.  Nonetheless, it is uninitialized, so you also get a
warning.

Ronald

Reply via email to