The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
my $interpreter;
my $scope;
my $void;
my $out_scalar = $scope."lookup"("$OUT");
my $out = $out_scalar."FETCH"();
#my $out_scalar = $scope."lookup"("$OUT");
#my $out = $out_scalar."FETCH"();

$void = $out."print"("1..9\n");

my $LexicalScope_scalar = $scope."lookup"("LexicalScope");
my $LexicalScope = $LexicalScope_scalar."FETCH"();

my $new_scope = $LexicalScope."new"();
my $outer = $new_scope."outer"();
my $void = $outer."STORE"($scope);


my $out2_scalar = $scope."lookup"("$OUT");
my $out2 = $out2_scalar."FETCH"();

my $void = $out2."print"("ok 1\n");

my $var = $new_scope."postcircumfix:{ }"("$foo");

my $void = $var."STORE"("ok 2\n");
my $ok2 = $var."FETCH"();
my $void = $out."print"($ok2);

my $var2 = $new_scope."lookup"("$foo");
my $void = $var2."STORE"("ok 3\n");
my $ok3 = $var2."FETCH"();
my $void = $out."print"($ok3);

my $true = $new_scope."exists"("$foo");
if $true {goto ok4} else {goto not_ok4};
not_ok4: my $void = $out."print"("not ok 4\n");
goto end_if;
ok4: my $void = $out."print"("ok 4\n");
end_if: noop;

my $false = $new_scope."exists"("$OUT");
if $false {goto not_ok5} else {goto ok5};
not_ok5: my $void = $out."print"("not ok 5\n");
goto end_if2;
ok5: my $void = $out."print"("ok 5\n");
end_if2: noop;

my $var3 = $new_scope."postcircumfix:{ }"("$bar");
my $void = $var3."STORE"("ok 6 # variables are cloned over\n");
my $ok6 = $var3."FETCH"();
my $void = $out."print"($ok6);

my $cloned_scope = $new_scope."clone"();

my $void = $out."print"("ok 7 # lives after clone\n");


my $var3_cloned = $cloned_scope."postcircumfix:{ }"("$bar");


my $var4_in_orginal = $new_scope."postcircumfix:{ }"("$baz");
my $var4_in_cloned = $cloned_scope."postcircumfix:{ }"("$baz");

my $var5_in_orginal = $new_scope."postcircumfix:{ }"("$baz2");
my $var5_in_cloned = $cloned_scope."postcircumfix:{ }"("$baz2");

my $void = $var4_in_cloned."STORE"("ok 8 # new variables in the cloned scope don't get overwritten by ones in the orginal\n");
my $void = $var4_in_orginal."STORE"("not ok 8 # new variables in the cloned scope get overwritten by ones in the orginal\n");

my $ok8 = $var4_in_cloned."FETCH"();
my $void = $out."print"($ok8);

my $void = $var5_in_orginal."STORE"("ok 9 # new variables in the orginal scope don't get overwritten by ones in the cloned\n");
my $void = $var5_in_cloned."STORE"("not ok 9 # new variables in the orginal scope get overwritten by ones in the cloned\n");

my $ok9 = $var5_in_orginal."FETCH"();
my $void = $out."print"($ok9);