X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FSub%2FNary.pm;fp=lib%2FSub%2FNary.pm;h=ee5fb6491ca60410c857f3f0d546b35ba0f9a54d;hb=5f152e1748a0f22036762abc24f5b92859951910;hp=838fab0c7cfd79dfa807c6473311439894f7a872;hpb=1757c35d2d60dd9b52dcbd5af09679cfdaeb1740;p=perl%2Fmodules%2FSub-Nary.git diff --git a/lib/Sub/Nary.pm b/lib/Sub/Nary.pm index 838fab0..ee5fb64 100644 --- a/lib/Sub/Nary.pm +++ b/lib/Sub/Nary.pm @@ -353,14 +353,9 @@ sub pp_entersub { my $r; my $c = 1; for (; not null $op->sibling; $op = $op->sibling) { - my $n = name($op); - next if $n eq 'nextstate'; my ($rc, $lc) = $self->inspect($op); - $r = add $r, scale $c, $rc if defined $rc; - if (zero $lc) { - $c = 1 - count $r; - return $r, $c ? { 0 => $c } : undef - } + return $rc, $lc if defined $rc and not defined $lc; + $r = add $r, scale $c, $rc; $c *= count $lc; }