--- isis2stream.pl 2002/06/16 19:39:42 1.8 +++ isis2stream.pl 2002/06/16 19:55:19 1.9 @@ -459,25 +459,30 @@ $bib .= isis_to_bib($row,'991','%991'); $mps .= isis_to_mps($row,'991',12); - sub store_isn { - if (my $isn = shift @_) { - my $nr = shift @_; - my $tag = shift @_; + sub isis_isn_to_mps { + my $row = shift @_ || die; + my $isis_id = shift @_ || die; + my $nr = shift @_ || die; + my $i=0; + my $mps=''; + while (my $isn=$row->{$isis_id}->[$i]) { $isn =~ s/ +//g; # remove spaces $mps .= "W $isn $nr\n"; - $bib .= "$tag $isn\n"; if ($isn =~ s/-//g) { $mps .= "W $isn $nr\n"; } + $i++; } + return $mps; } # ISBN - store_isn($row->{10}->[0],13,'%ISBN'); - $mps .= isis_to_mps($row,'290',13); - $mps .= isis_to_mps($row,'291',13); - $mps .= isis_to_mps($row,'292',13); - $mps .= isis_to_mps($row,'293',13); + $bib .= isis_to_bib($row,'10','%ISBN'); + $mps .= isis_isn_to_mps($row,'10',13); + $mps .= isis_isn_to_mps($row,'290',13); + $mps .= isis_isn_to_mps($row,'291',13); + $mps .= isis_isn_to_mps($row,'292',13); + $mps .= isis_isn_to_mps($row,'293',13); # ISSN #store_isn($row->{11}->[0],14,'%ISSN');