require Safe; print "1..9\n"; $foo = "ok 1\n"; %bar = (key => "ok 2\n"); @baz = "o"; push(@baz, "3"); # Two steps to prevent "Identifier used only once..." $glob = "ok 4\n"; @glob = qw(not ok 9); $" = 'k '; sub sayok5 { print "ok 5\n" } $cpt = new Safe; $cpt->share(qw($foo %bar @baz *glob &sayok5 $")); $err = $cpt->reval(q{ print $foo ? $foo : "not ok 1\n"; print $bar{key} ? $bar{key} : "not ok 2\n"; if (@baz) { print "@baz\n"; } else { print "not ok 3\n"; } print $glob; sayok5(); $foo =~ s/1/7/; $bar{new} = "ok 8\n"; @glob = qw(ok 9); }); print $err ? "not ok 6\n#$err" : "ok 6\n"; $" = ' '; print $foo, $bar{new}, "@glob\n";