A blank return is not intended to return anything. It is doing what is is supposed to do which is error checking.
The explanation of a blank return vs. return undef is that if it is used as an error checking mechanism, the undef screws things up when used in a list context.
The coding example you used is not in an error checking context, you wanted to return a value. Why you want to return an undef to set a value, I don't know, but you could always return an empty string which would make more sense anyways.
You can approach undef in this way, if I have a scalar value which is undef it means 'noone has attempted to assign a value to this variable.' If you have an empty string, 'someone has assigned a value which is nothing.'
In reply to Re: Question perlcritic ProhibitExplicitReturnUndef
by Herkum
in thread Question perlcritic ProhibitExplicitReturnUndef
by mje
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |