in reply to non-global $/
All of the built-in "punctuation" variables are globals, not package variables. The exception are the two "default" variables, $_ and @_, which (1) get localized values automatically in many situations, and (2) assume the 'main::' package if not otherwise specified.
To avoid the problem, don't do a local and call subroutines that are outside your control. The need to redefine $/ or other built-in vars should be really confined to one or two low-level statements which use those variables to tune their behavior.
--
[ e d @ h a l l e y . c c ]
|
|---|