sub all { trace() if $ENV{TRACE}; return sub { trace() if $ENV{TRACE}; my $p = shift; my $struct = shift; my $file = $p->{file}; my @subs; for my $name (@{ $p->{order} }){ push @subs, grep {$name eq $_} keys %{ $struct->{$file}{subs} }; } return \@subs; }; }