http://www.perlmonks.org?node_id=985875


in reply to variable processing and checking in one statement

How about

doSthWith(checkFn($test));

Have checkFn return the passed data if all is well, or undef if not and have doSthWith check its arguments.

Or, incorporate the check into doSthWith - depending on where you want to localize the knowledge about the condition, and how you want to handle the race between the check and what you do with $test

And, I don't advocate this but find the range of possibilities interesting and can't seem to stop myself from updating:

sub { doSthWith($_[0]) if(checkFn($_[0])); }->($test);