new "state" variables... nest properly??



Do the new "state" variable declaration stuff mean that finally you
can nest subs and variables will behave properly? Great news, if
true.

My little test program seems to indicate this is correct:

use strict; use warnings; use English; use feature 'state';

my( $GVar );

sub Outer{ my( $Arg ) = @_; state ( $Var );

sub Inner{
if( $GVar eq $Var ) { print "midvar is okay: $Var\n" }
else { print "midvar should be '$GVar' but is '$Var'\n" }
}

#begin Outer

if( $Var ) { print "*** Var preset!!! to '$Var' \n" }
else { print "Var unset as supposed to be!\n" }
$Var = $Arg;
$GVar = $Var;
Inner( );
}


print $];

Outer( 'foo 1' ); Outer( 'foo 2' ); Outer( 'foo 3' );
.