In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/33f1827ffcb11ab760b1c6b1f0fc240a00058c4b?hp=c6ae04d3b36cdce0d8f3943e411dabb13261a52f>
- Log ----------------------------------------------------------------- commit 33f1827ffcb11ab760b1c6b1f0fc240a00058c4b Author: Aristotle Pagaltzis <[email protected]> Date: Tue Dec 27 05:47:37 2016 +0100 Module::CoreList: clarify _undelta logic ----------------------------------------------------------------------- Summary of changes: dist/Module-CoreList/lib/Module/CoreList.pm | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm b/dist/Module-CoreList/lib/Module/CoreList.pm index 12f4038d91..537dbf0e4b 100644 --- a/dist/Module-CoreList/lib/Module/CoreList.pm +++ b/dist/Module-CoreList/lib/Module/CoreList.pm @@ -7,16 +7,13 @@ $VERSION = '5.20170120'; sub _undelta { my ($delta) = @_; - my %expanded; - for my $version (sort { $a cmp $b } keys %$delta) { - my $data = $delta->{$version}; - my $from = $data->{delta_from}; - my %full = ( - ( $from ? %{$expanded{$from}} : () ), - %{$data->{changed} || {}}, - ); - delete @full{ keys %{$data->{removed}} }; - $expanded{$version} = \%full; + my (%expanded, $delta_from, $base, $changed, $removed); + for my $v (sort keys %$delta) { + ($delta_from, $changed, $removed) = @{$delta->{$v}}{qw( delta_from changed removed )}; + $base = $delta_from ? $expanded{$delta_from} : {}; + my %full = ( %$base, %{$changed || {}} ); + delete @full{ keys %$removed }; + $expanded{$v} = \%full; } return %expanded; } -- Perl5 Master Repository
