- my $c = $cur->{children}; # The hashref here...
-
- $c = [ grep { !$seen{$_}++ && visible($_, $ibx) } values %$c ];
- $c = $ordersub->($c) if scalar @$c > 1;
- $cur->{children} = $c; # ...becomes an arrayref
- push @q, @$c;
+ # the {children} hashref here...
+ my @c = grep { !$seen{$_}++ && visible($_, $ibx) }
+ values %{delete $cur->{children}};
+ $ordersub->(\@c) if scalar(@c) > 1;
+ $cur->{children} = \@c; # ...becomes an arrayref
+ push @q, @c;