|Subject:||Named arguments do not treat undef arguments differently than unsupplied arguments|
There should be a way to distinguish whether a method was called as $obj->method() vs. $obj->method(foo => undef) by examining @_. This is possible when using positional arguments ($foo will be missing in the arg list in the former case, and undef in the latter), but not for named arguments. Failing unit test is added as t/undef_method_arg2.t to my github -. Somewhat orthogonally, I'm wondering if there should be a separate lexical provided which allows one to examine the arguments passed as a hash, so one can do defined vs. exists checks on the hash keys, as one would do when calling the method in a more vanilla style (processing the args as my ($self, %options) = @_; ).