in reply to Examples fo Where "our" is really needed
In other words - the scoping of our() is the only difference compared to use vars.
my is different in that lexicals aren't coupled to a package and therefore need extra work if you want access to them from another file.
update:
As for the performance of our() vs vars() vs my () - AFAIK lexicals are always faster than globals - provided you have direct access to them - since package globals require a hashtable lookup and lexicals are in an array of which the index is computed at compile time.
My conclusion:
You are probably right that most uses of package variables are gratuitous and could be replaced with lexicals without any trouble.
However, if you need access to variables from another file, or are interfacing with XS code, and you're sure that you really only need one instance of that specific variable, a package variable can be easier and more efficient than a lexical.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Examples fo Where "our" is really needed
by dave_the_m (Monsignor) on May 05, 2005 at 01:17 UTC | |
by Joost (Canon) on May 05, 2005 at 09:26 UTC |