1898184e3Ssthenuse warnings; 2898184e3Ssthenuse strict; 3898184e3Ssthen 4898184e3Ssthenuse Test::More tests => 14; 5898184e3Ssthen 6898184e3SsthenBEGIN { $^H |= 0x20000; } 7898184e3Ssthen 8898184e3Ssthenmy $t; 9898184e3Ssthen 10898184e3Ssthen$t = ""; 11898184e3Sstheneval q{ 12898184e3Ssthen use XS::APItest qw(loopblock); 13898184e3Ssthen do { 14898184e3Ssthen $t .= "a"; 15898184e3Ssthen loopblock { 16898184e3Ssthen $t .= "b"; 17898184e3Ssthen last unless length($t) < 5; 18898184e3Ssthen $t .= "c"; 19898184e3Ssthen } 20898184e3Ssthen }; 21898184e3Ssthen $t .= "d"; 22898184e3Ssthen}; 23898184e3Ssthenis $@, ""; 24898184e3Ssthenis $t, "abcbcbd"; 25898184e3Ssthen 26898184e3Ssthen$t = ""; 27898184e3Sstheneval q{ 28898184e3Ssthen use XS::APItest qw(loopblock); 29898184e3Ssthen $t .= "a"; 30898184e3Ssthen loopblock { 31898184e3Ssthen $t .= "b"; 32898184e3Ssthen last unless length($t) < 5; 33898184e3Ssthen $t .= "c"; 34898184e3Ssthen } 35898184e3Ssthen}; 36898184e3Ssthenis $@, ""; 37898184e3Ssthenis $t, "abcbcb"; 38898184e3Ssthen 39898184e3Ssthen$t = ""; 40898184e3Sstheneval q[ 41898184e3Ssthen use XS::APItest qw(loopblock); 42898184e3Ssthen do { 43898184e3Ssthen $t .= "a"; 44898184e3Ssthen loopblock { 45898184e3Ssthen $t .= "b"; 46898184e3Ssthen last unless length($t) < 5; 47898184e3Ssthen $t .= "c"; 48898184e3Ssthen } 49898184e3Ssthen]; 50898184e3Ssthenisnt $@, ""; 51898184e3Ssthenis $t, ""; 52898184e3Ssthen 53898184e3Ssthen$t = ""; 54898184e3Sstheneval q[ 55898184e3Ssthen use XS::APItest qw(loopblock); 56898184e3Ssthen $t .= "a"; 57898184e3Ssthen loopblock { 58898184e3Ssthen $t .= "b"; 59898184e3Ssthen last unless length($t) < 5; 60898184e3Ssthen $t .= "c"; 61898184e3Ssthen } 62898184e3Ssthen }; 63898184e3Ssthen]; 64898184e3Ssthenisnt $@, ""; 65898184e3Ssthenis $t, ""; 66898184e3Ssthen 67898184e3Ssthen$t = ""; 68898184e3Sstheneval q{ 69898184e3Ssthen use XS::APItest qw(loopblock); 70898184e3Ssthen my $x = "a"; 71898184e3Ssthen $t .= $x; 72898184e3Ssthen do { 73*5759b3d2Safresh1 no warnings "shadow"; 74898184e3Ssthen $t .= $x; 75898184e3Ssthen my $x = "b"; 76898184e3Ssthen $t .= $x; 77898184e3Ssthen loopblock { 78898184e3Ssthen $t .= $x; 79898184e3Ssthen my $x = "c"; 80898184e3Ssthen $t .= $x; 81898184e3Ssthen last unless length($t) < 7; 82898184e3Ssthen $t .= $x; 83898184e3Ssthen my $x = "d"; 84898184e3Ssthen $t .= $x; 85898184e3Ssthen } 86898184e3Ssthen }; 87898184e3Ssthen $t .= $x; 88898184e3Ssthen}; 89898184e3Ssthenis $@, ""; 90898184e3Ssthenis $t, "aabbccdbca"; 91898184e3Ssthen 92898184e3Ssthen$t = ""; 93898184e3Sstheneval q{ 94898184e3Ssthen use XS::APItest qw(loopblock); 95898184e3Ssthen do { 96898184e3Ssthen { $t .= "a"; } 97898184e3Ssthen loopblock { 98898184e3Ssthen { $t .= "b"; } 99898184e3Ssthen last unless length($t) < 5; 100898184e3Ssthen { $t .= "c"; } 101898184e3Ssthen } 102898184e3Ssthen }; 103898184e3Ssthen $t .= "d"; 104898184e3Ssthen}; 105898184e3Ssthenis $@, ""; 106898184e3Ssthenis $t, "abcbcbd"; 107898184e3Ssthen 108898184e3Ssthen$t = ""; 109898184e3Sstheneval q{ 110898184e3Ssthen use XS::APItest qw(loopblock); 111898184e3Ssthen { $t .= "a"; } 112898184e3Ssthen loopblock { 113898184e3Ssthen { $t .= "b"; } 114898184e3Ssthen last unless length($t) < 5; 115898184e3Ssthen { $t .= "c"; } 116898184e3Ssthen } 117898184e3Ssthen}; 118898184e3Ssthenis $@, ""; 119898184e3Ssthenis $t, "abcbcb"; 120898184e3Ssthen 121898184e3Ssthen1; 122