Subject: | Loading Cwd taints $^O. |
$ perl -MScalar::Util=tainted -Twle 'print tainted $^O; require Cwd; print tainted $^O'
0
1
Cwd 3.04 and 3.06 on OS X (perl 5.8.1RC3) causes $^O to become tainted. It happens somewhere in the logic for figuring out if _backtick_cwd should be used (lines 331-336). On OS X _backtick_cwd() is chosen and that is the point where $^O becomes tainted.
This causes problems with anything that assumes $^O is safe and loads Cwd such as URI::file->cwd.
It appears to be a 5.8.1 bug. 5.8.6 does not have this problem.