I've seen several cases of test failures and user complaints about my modules as a consequence of using Scalar::Util
::weaken(). The error message is
Error: Weak references are not implemented in the version of perl at (...)
. After looking at the Scalar::Util code, I found that this message occurs when the module is installed with the -pm option to Makefile.PL or when Makefile.PL couldn't find a C compiler. I can imagine this happening when a user installs Scalar::Util, but the strange thing is that it seems that in most cases they were using a perl-5.8.x "out of the box", which includes Scalar::Util as part of the core distribution.
Has anyone else noticed this? I've seen this message in Linux, Windows, and Cygwin.
Update: Thanks for all the answers. I'm happy to hear that I'm not alone. :-)