use B::RecDeparse;
-sub dummy { }
-sub add { $_[0] + $_[1] }
-sub call ($$$) { my $x = \&dummy; $_[0]->($_[1], $_[2]) }
-sub foo { call(\&add, $_[0], 1); }
-sub bar { my $y = \&call; $y->(\&add, $_[0], 1); }
+{
+ BEGIN {
+ strict->unimport('vars') if "$]" >= 5.021;
+ }
+ sub dummy { }
+ sub add { $_[0] + $_[1] }
+ sub call ($$$) { my $x = \&dummy; $_[0]->($_[1], $_[2]) }
+ sub foo { call(\&add, $_[0], 1); }
+ sub bar { my $y = \&call; $y->(\&add, $_[0], 1); }
+}
sub which {
my ($brd, $coderef, $yfunc, $yref, $nfunc, $nref, $l) = @_;
is($code->(2), $coderef->(2), "result compiles to the good thing at level $l");
}
-my $br_args = '-sCi0v1';
+my $bd_args = '-sCi0v1';
-my $brd = B::RecDeparse->new(deparse => $br_args, level => -1);
+my $brd = B::RecDeparse->new(deparse => $bd_args, level => -1);
which $brd, \&foo, [ ], [ qw<add dummy> ], [ qw<add call> ], [ ], -1;
which $brd, \&bar, [ ], [ qw<add call> ], [ qw<add call> ], [ ], -1;
-$brd = B::RecDeparse->new(deparse => $br_args, level => 0);
+$brd = B::RecDeparse->new(deparse => $bd_args, level => 0);
which $brd, \&foo, [ qw<call> ], [ qw<add> ], [ qw<add> ], [ qw<dummy> ], 0;
which $brd, \&bar, [ ], [ qw<add call> ], [ qw<add> ], [ qw<dummy> ], 0;
-$brd = B::RecDeparse->new(deparse => $br_args, level => 1);
+$brd = B::RecDeparse->new(deparse => $bd_args, level => 1);
which $brd, \&foo, [ ], [ qw<add dummy> ], [ qw<add call> ], [ ], 1;
which $brd, \&bar, [ ], [ qw<add call> ], [ qw<add call> ], [ ], 1;
-$brd = B::RecDeparse->new(deparse => $br_args, level => 2);
+$brd = B::RecDeparse->new(deparse => $bd_args, level => 2);
which $brd, \&foo, [ ], [ qw<add dummy> ], [ qw<add call> ], [ ], 2;
which $brd, \&bar, [ ], [ qw<add call> ], [ qw<add call> ], [ ], 2;