state declaration, holds
use strict; use warnings; use feature qw'say state'; {no strict; no warnings; $three = 1; say 'three' until $three++ == 3; } #Use of uninitialized value $two in say at SoPW_11103184.pm line 54 say 'two' until my $two = 2; #say 'owt',$two; say 'one' until state $one = 1; say 'eno',$one; {no strict; no warnings; say $zero until $zero = 9; } say our $minone = 5 until $minone = 8; say $minone; # says '5' continuously #say our $mintwo = 5 until 3 == $mintwo--; #say $mintwo; __END__ three three #say $two #uninit warning eno1 8
Depending how the scope is declared determines if the assignment is fully evaluated
In reply to Re^2: Missing error under strict (Perlbug: postfix 'until' has inconsistent scope)
by Don Coyote
in thread Missing error under strict
by Pascal666
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |