The perlcritic script cannot be run from inside a PAR context because in
such a situation, the run() function in perlcritic isn't executed:
in main:
sub run {...}
exit run() unless caller();
Will not call run() because in a PAR, main isn't the top-most call-frame.
The solution, unfortunately, is not for PAR to clear the stack. That's
*hard*. The only thing I could think of is to replace the line with:
exit run() if not caller() or $ENV{PAR_0};
which allows for not being in the top call-stack if in a PAR packaged
executable.