FWIW: I agree with you that the affects of just the presence of these variables, even when buried in some module you are unknowingly loading through n-levels of indirection can be both dramatic and profoundly frustrating. Documentation notwithstanding, the fact that you can be bitten by it despite studiously avoiding them is a pretty bad indictment.
One tip that I didn't see referenced, is to check your code with Devel::SawAmpersand. The module POD also offers some good advice and workarounds.
Personally, I think that this should issue a mandatory (compiler) warning that would require specific action to suppress. And that suppression should be overridden by -W to allow for quick checks of heavily nested modules.
It would certainly be more useful to me than many of the existing warnings. This particularly useless one for instance:
$x = 123;; $y = '123';; print $x | 'fred';; Argument "fred" isn't numeric in bitwise or (|) at (eval 8) 123 print $y | 'fred';; wrwd
In reply to Re: Impact of special variables on regex match performance
by BrowserUk
in thread Impact of special variables on regex match performance
by roubi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |