for (values %files) {
my @versions = @$_;
my %entry = (%{$versions[0]}, formats => []);
- push $entry{formats}, {format => $_->{format}, file => $_->{file}} for @versions;
+ for my $ver (@versions) {
+ push $entry{formats}, {format => $ver->{format}, file => $ver->{file}};
+ for my $key (keys $ver) {
+ $entry{$key} = $ver->{$key} if $ver->{$key} ne '?';
+ }
+ }
+ delete $entry{$_} for qw/format file/;
push @files, \%entry
}