use vars qw($frob @mung %seen);
This module predeclares all variables whose names are
in the list, allowing you to use them under use strict
, and
disabling any typo warnings.
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.
While the 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.