1use warnings; 2use strict; 3 4use Test::More tests => 10; 5 6BEGIN { $^H |= 0x20000; } 7 8my $t; 9 10$t = ""; 11eval q{ 12 use XS::APItest qw(stmtasexpr); 13 $t .= "a"; 14 $t .= "b" . stmtasexpr "c"; . "d"; 15 $t .= "e"; 16}; 17is $@, ""; 18is $t, "abcde"; 19 20$t = ""; 21eval q{ 22 use XS::APItest qw(stmtasexpr); 23 $t .= "a"; 24 $t .= "b" . stmtasexpr if($t eq "a") { "c"; } else { "d"; } . "e"; 25 $t .= "f"; 26}; 27is $@, ""; 28is $t, "abcef"; 29 30$t = ""; 31eval q{ 32 use XS::APItest qw(stmtasexpr); 33 $t .= "a"; 34 $t .= "b" . stmtasexpr if($t eq "z") { "c"; } else { "d"; } . "e"; 35 $t .= "f"; 36}; 37is $@, ""; 38is $t, "abdef"; 39 40$t = ""; 41eval q{ 42 use XS::APItest qw(stmtasexpr); 43 no warnings "void"; 44 $t .= "a"; 45 $t .= "b" . stmtasexpr { "z"; "c"; } . "d"; 46 $t .= "e"; 47}; 48is $@, ""; 49is $t, "abcde"; 50 51$t = ""; 52eval q{ 53 use XS::APItest qw(stmtasexpr); 54 $t .= "a"; 55 $t .= "b" . stmtasexpr x: "c"; . "d"; 56 $t .= "e"; 57}; 58isnt $@, ""; 59is $t, ""; 60 611; 62