diff options
author | Gisle Aas <gisle@aas.no> | 1998-07-10 16:04:44 +0200 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-07-11 02:54:02 +0000 |
commit | d8d95777eda225e5e5adb348f812ffc22a87caf5 (patch) | |
tree | 1694f625b21b6de5b8c32079395743daf2e67ec6 /ext | |
parent | 782f0963ab0b062cf0c3fc5bdd300cab850d5a04 (diff) | |
download | perl-d8d95777eda225e5e5adb348f812ffc22a87caf5.tar.gz |
B::Deparse for(1..100000)
Message-ID: <m3n2ahx677.fsf@furu.g.aas.no>
p4raw-id: //depot/perl@1421
Diffstat (limited to 'ext')
-rw-r--r-- | ext/B/B/Deparse.pm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/B/B/Deparse.pm b/ext/B/B/Deparse.pm index 91c08e7b7e..d9b0cd9ced 100644 --- a/ext/B/B/Deparse.pm +++ b/ext/B/B/Deparse.pm @@ -1513,7 +1513,14 @@ sub pp_leaveloop { } elsif ($enter->ppaddr eq "pp_enteriter") { # foreach my $ary = $enter->first->sibling; # first was pushmark my $var = $ary->sibling; - $ary = $self->deparse($ary, 1); + if ($enter->flags & OPf_STACKED) { + my $from = $ary->first->sibling; + my $to = $from->sibling; + $ary = join("", "(", $self->deparse($from,1), " .. ", + $self->deparse($to,1), ")"); + } else { + $ary = $self->deparse($ary, 1); + } if (null $var) { if ($enter->flags & OPf_SPECIAL) { # thread special var $var = $self->pp_threadsv($enter, 1); |