Subject: | B::Utils disables global warnings |
B::Utils disables global warnings (the "-w" flag and $^W variable) when it is loaded. While global warniongs flag is problematic and discouraged, it is bad for a module to change global variable.
$ perl -w -le 'BEGIN { print $^W }; use B::Utils; print $^W;'
1
0
The cause is "BEGIN { $^W = 0 }" when setting up trace.
I would think that since that is already in BEGIN block, that "local $^W = 0;" would work and fix the errors.