using POE loses $^W
Demonstration:
perl -wle 'BEGIN { print $^W }; use POE; BEGIN { print $^W}'
1
0
It's caused by the BEGIN { $^W = 0; } just before the
eval "sub $const () { $value }";
(on my version of POE. The latest seems to use $const = sub () { $value };
instead).
It looks like it's just an attempt to silence a redefined warning.
I think the BEGIN { $^W = 0; } should simply be local $^W = 0
(untested)
