# open main holdings file
open HOLDINGS, '>', ($c->{prefix} . "-HOLDINGS.pg");
# create multi files
- my @multifiles = <*HOLDINGS-MULT*>;
- unlink @multifiles;
+ my $multis = $m->get_multis;
+ my %MULTIFILE = ();
+ for my $t ( keys %{$multis} ) {
+ for my $s ( keys %{$multis->{$t}})
+ { open my $fh, ">", ($c->{prefix} . "-HOLDINGS-MULT-$t$s.pg"); $MULTIFILE{"$t$s"} = $fh }
+ }
my $i = 0; # record counter
my $j = 0; # holdings counter
- my $multis = $m->get_multis;
while ( $m->{data}{recs}[$i] ) {
print HOLDINGS "BEGIN;\n\negid\thseq\t" unless $j;
# handle holdings multis
for my $sub ( sort keys %{$multis->{$tagid}} ) {
- open MULT, ">>", ($c->{prefix} . "HOLDINGS-MULT" . "$tagid$sub.pg");
- for my $value ( @{$rec->{tags}[$holdidx]{multi}{$sub}} )
- { print MULT join("\t", $rec->{egid}, $j, $value), "\n" }
- close MULT;
+ for my $value ( @{$rec->{tags}[$holdidx]{multi}{$sub}} ) {
+ my $fh = $MULTIFILE{"$tagid$sub"};
+ print $fh join("\t", $rec->{egid}, $j, $value), "\n";
+ }
}