in reply to Annoying warnings...

If a function has an interface you don't like, don't hack around it every time you call it and don't shut off the warning. Fix the function.

use Scalar::Util (); sub reftype ($) { return '' if !defined $_[0]; return Scalar::Util::reftype($_[0]); }

As for the "$Your::Global = 1" used only once problem, I hate that warning. I wrote up the module to work around it but its no less typing.