A clarification on the following point.
The closest thing to a global variable in perl is a variable that lives in main::'s symbol table. This is because whenever a variable is referred it is always looked for in main::. But this is only a last resort,
This is not true. If you are not in main:: it will not look in main for a variable unless you use
our $var and then it's still only I belive in the current lexical scope.
# Prints nothing.
perl -e '$var = 'value';package FOO; print $var'
#prints "value"
perl -e 'our $var = 'value';package FOO; print $var'
#prints "value"
perl -e '$var = 'value';package FOO; print $main::var'
-Lee
"To be civilized is to deny one's nature."