Paul Kraus wrote:
> Great article. Cleared up all of my confusion. However it did not
> touch on "our". Anyone care to explain what its used for.

Hi Paul.

An 'our' variable has the same visibility as a 'my' variable declared
in the same place, i.e. through to the end of the current lexical
scope (block or file). Unlike 'my', however, it is a permanent
package variable and its value will be retained across calls to a
subroutine (unless modified elsewhere). It may be accessed
anywhere (even from another package) by fully qualifying it.

Take a look at this:

    #!perl
    use strict;
    use warnings;

    &a;     # sets $main::val
    &b;     # prints '10'

    print $val;         # illegal - undeclared
    print $main::val;   # prints '10'

    sub a {
        our $val = 10;
    }

    sub b {
        our $val;
        print $val;
    }

    __END_

HTH,

Rob





-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to