use vars qw($frob @mung %seen);
Packages such as the AutoLoader and SelfLoader that delay loading
of subroutines within packages can create problems with file-scoped lexicals
defined using my. This is because they move the subroutines outside
the scope of the lexical variables.
use vars pragma cannot duplicate the
effect of file-scoped lexicals (total transparency outside of the file),
it can act as an acceptable substitute by pre-declaring global symbols,
ensuring their availability to the routines whose loading was delayed.