2008/7/8 Greg Aiken <[EMAIL PROTECTED]>:
> can anyone please explain why when I am in the subroutine,
> and I attempt to print a variable that's been declared and assigned a value
> in the main package - why I am unable to print the value of the main
> package's variable (despite that I am using the fully qualified variable
> name)?

Just to add to the discussion, because I didn't understand this
behaviour either, on the basis of

http://perl.plover.com/FAQs/Namespaces.html

I made a test script which might be useful for someone:

#! perl
use strict;
use warnings;

my $var = "value";
$main::var = "ninny-poo";
print "1: $var\n";
print "2: $::var\n";
print "3: $main::var\n";

our $var2 = "value-mungus";
print "1: $var2\n";
print "2: $::var2\n";
print "3: $main::var2\n";
$main::var2 = "ninny-poo";
print "1: $var2\n";
print "2: $::var2\n";
print "3: $main::var2\n";

&subroutine;

sub subroutine
{
    $main::var = "boo";
    print "1: $var\n";
    print "2: $::var\n";
    print "3: $main::var\n";
    $var2 = 'rottenapples';
    $main::var2 = "boo";
    print "1: $var2\n";
    print "2: $::var2\n";
    print "3: $main::var2\n";
}
_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to