App-PPIUtils

 view release on metacpan or  search on metacpan

lib/App/PPIUtils.pm  view on Meta::CPAN

    require Sort::SubList;
    my @sorted_children =
        map { $children[$_] }
        Sort::SubList::sort_sublist(
            sub {
                if ($sorter_meta->{compares_record}) {
                    my $rec0 = [$children[$_[0]]->name, $_[0]];
                    my $rec1 = [$children[$_[1]]->name, $_[1]];
                    $sorter->($rec0, $rec1);
                } else {
                    #say "D: ", $children[$_[0]]->name, " vs ", $children[$_[1]]->name;
                    $sorter->($children[$_[0]]->name, $children[$_[1]]->name);
                }
            },
            sub { $children[$_]->isa('PPI::Statement::Sub') && $children[$_]->name },
            0..$#children);
    $doc->{children} = \@sorted_children;
}

$Sort::Sub::argsopt_sortsub{sort_sub}{cmdline_aliases} = {S=>{}};
$Sort::Sub::argsopt_sortsub{sort_args}{cmdline_aliases} = {A=>{}};



( run in 1.611 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )