I think you should first make up your mind what kind of variables you would like to have. We should not use the term "local variable" in Perl, since it is not clear what this means. Perl has two type of variables: Lexical variables, and package global variables. Which one would you like to use?
Lexical variables are declared using my or state - the latter only if you are using Perl 5.10, and if feature 'state' is enabled.
Package global variables do not need to be declared. They can be declared using our. If you decide not to declare them, and have strict in effect (which is for sure a good idea), you have to qualify them with the full package name.
local is a function which operates on package global variables. Hence if you use it, and have strict in effect, you need to qualify the variable name with the package.
My impression is that a lot of the confusion about your posting arose, because you did not explain in the first place what kind of variable you want to use, so some people thought you are interested in lexicals (and suggested to use my), while others thought you want to have package globals (and suggested to use our).
In reply to Re^3: Unable to declare local variable with "use strict".
by rovf
in thread Unable to declare local variable with "use strict".
by mr_p
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |