This is what the Camel-book (3rd ed.) says about the our declaration on p. 133:
our therefore does quite the opposite of what you think: it creates a global variable, accessible to all from anywhere in your program.Lexically scoped Global Declarations: our
A beter way to access globals, especially for programs and modules running under the use strict declaration, is the our declaration. This declaration is lexically scoped in that it applies only through the end of the current scope. But unlike the lexically scoped my or the dynamically scoped local, our does not isolate anything to the current lexical or dynamic scope.
The way to do what you want is to declare the variables in your subs with my and to pass the necessary parameters to your sub process_search() through its argument-list.
All very clean and well-encapsulated.
CountZero
"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law
In reply to Re: Package-Level Variables
by CountZero
in thread Package-Level Variables
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |