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.