Matthijs van Duin writes:
 > 
 > A nice example is:
 > 
 > sub a {
 >     state $x;
 >     my $y;
 >     my sub b { return $x++ + $y++; }
 >     return &b;   # is a \ before &b needed?
 > }
 > 
 > Every call to sub a will return a different closure.  The $x in
 > each closure all refer to the same variable.  Each closure's $y
 > however is different and independent.
 > 
and what if 

  sub a {
      state $x;
      my $y;
      my sub b { state $z ; return $x++ + $y++ + $z++ ; }
      return &b;   # is a \ before &b needed?
  }


will all &b refer to  the same $z ? 


does it mean that this is legitimate 

  sub a {
      state $x;
      my $y;
      state sub b { state $z ; return $x++ + $y++ + $z++ ; }
      return &b;   # is a \ before &b needed?
  }

and what does it mean ? 



arcadi 

Reply via email to