#!perl use strict; use warnings; use Test::More tests => 18; use XS::APItest qw(with_vars); my $foo = "A"; my $rfoo = \$foo; my $bar = "B"; my $rbar = \$bar; my $baz = "C"; my $rbaz = \$baz; with_vars foo bar baz { is $foo, 1; is $$rfoo, "A"; isnt \$foo, $rfoo; is $bar, 2; is $$rbar, "B"; isnt \$bar, $rbar; is $baz, 3; is $$rbaz, "C"; isnt \$baz, $rbaz; } is $foo, "A"; is \$foo, $rfoo; is $bar, "B"; is \$bar, $rbar; is $baz, "C"; is \$baz, $rbaz; with_vars x { is $x, 1; } is eval('$x++'), undef; like $@, qr/explicit package name/;