in reply to Dealing with Use of uninitialised Values warning

I didn't get any errors from the first method. The second did give an error, but both work fine when rewritten as follows:
sub meth1 { return 0 if $#_ == -1; return $_[0] if $#_ == 0 || $_[0] > $_[1]; return $_[1]; }
(no need to use named variables btw - just work with the contents of the input)