in reply to warnings pragma anomaly

As for undef, it's not just a function that returns an undefined value; it's a function that undefines its arguments.
undef $foo; # Similar to $foo = undef; but also frees memory.

As such, it's perfectly fine to call undef in void context.