in reply to Re: Configuration files via require or do and my, local.
in thread Configuration files via require or do and my, local.

I found the answer: "my" is space scoped (context NOT carried outside the file) "local" is run-time scoped (context into other files beneath this scope.) However, you can use "vars" in conjunction with "use strict" to decl global vars. Make sure to go back and remove the "my" in front of the variables. Thanks, Daniel
  • Comment on Re: Re: Configuration files via require or do and my, local.

Replies are listed 'Best First'.
Re: Re: Re: Configuration files via require or do and my, local.
by ehdonhon (Curate) on Mar 24, 2002 at 17:43 UTC

    This:

    use vars qw( $foo ); $foo = 1;

    And this:

    our $foo = 1;

    Do the exact same thing. Though, "our" may not be available to you in Perl 5.005.

      They don't do the same thing when you put curly braces around them. Be careful with your word "same" there.

      -- Randal L. Schwartz, Perl hacker


      update: Since I managed to confuse a few people in the CB just now, let me add this:
      our is a lexical-scoped aliasing of package variable (in the current package), while use vars is a package-scoped relaxation of the normal use strict rules. You cannot universally swap one for the other: they have overlapping uses and meanings, but also distinct uses and meanings.