{
my $closure;
sub x1{ $closure = shift if @_; $closure }
sub x2{ $closure = shift if @_; $closure }
};;
print x1( 123 ); print x2(); print x2(456); print x1();;
123
123
456
456
####
{
local our $closure;
sub x1{ $closure = shift if @_; $closure }
sub x2{ $closure = shift if @_; $closure }
};;
print x1( 123 ); print x2(); print x2(456); print x1();;
123
123
456
456
##
##
sub x1{ our $closure = shift if @_; $closure } sub x2{ our $closure = shift if @_; $closure };;
print x1( 123 ); print x2(); print x2(456); print x1();;
123
123
456
456
##
##
sub x1{ state $closure = shift if @_; $closure }
sub x2{ state $closure = shift if @_; $closure };;
print x1( 123 ); print x2(); print x2(456); print x1();;
123
Use of uninitialized value in print at (eval 22) line 1, line 14.
456
123
##
##
sub x1{ state our $closure = shift if @_; $closure } sub x2{ state our $closure = shift if @_; $closure };;
No such class our at (eval 23) line 1, near "{ state our"
No such class our at (eval 23) line 1, near "{ state our"