package Foo;
our $bar = 'some default';
sub new { bless {} }
sub bar { shift; $bar = shift if @_; $bar }
package main;
my $obj = Foo->new;
print $obj->bar, "\n";
$obj->bar('something else');
print $obj->bar, "\n";
####
package Foo;
our $bar = 'some default';
package main;
print $Foo::bar, "\n";
$Foo::bar = 'something else';
print $Foo::bar, "\n";
####
package Foo;
my $bar = 'some default';
sub bar {
$bar = shift if @_;
return $bar;
}
####
package Foo;
my $bar = 'some default';
sub bar_ref {
return \$bar;
}
####
package Foo;
my $bar = 'some default';
sub bar : lvalue {
$bar;
}
####
print Foo::bar, "\n";
Foo::bar = 'something else';
print Foo::bar;
####
package Foo;
{
my $bar = 'some default';
sub bar : lvalue { $bar }
}