}
sub _recurse {
- return $_[0]->{brd_level} >= 0 && $_[0]->{brd_cur} >= $_[0]->{brd_level}
+ return $_[0]->{brd_level} < 0 || $_[0]->{brd_cur} < $_[0]->{brd_level}
}
sub compile {
$self->{brd_sub} = 1;
my $body = $self->SUPER::pp_entersub(@_);
$self->{brd_sub} = 0;
- $body =~ s/^&\s*(\w)/$1/ if not $self->_recurse;
+ $body =~ s/^&\s*(\w)/$1/ if $self->_recurse;
return $body;
}
sub pp_gv {
my $self = shift;
my $body;
- if ($self->{brd_sub} <= 0 || $self->_recurse) {
+ if ($self->{brd_sub} <= 0 || !$self->_recurse) {
$body = $self->SUPER::pp_gv(@_);
} else {
my $gv = $self->gv_or_padgv($_[0]);