projects
/
crolist2marc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add original record id in 001
[crolist2marc]
/
crolist2marc.pl
diff --git
a/crolist2marc.pl
b/crolist2marc.pl
index
803da79
..
49aa86a
100755
(executable)
--- a/
crolist2marc.pl
+++ b/
crolist2marc.pl
@@
-89,6
+89,12
@@
csv_file( 'IDNTAG.csv', sub {
return;
});
return;
});
+csv_file( 'OBRTAG.csv', sub {
+ my $line = shift;
+
+ my ( $IDSL, $TAG, $TAGNO, $ID, $SFI, $SFINO, $CODINF ) = split(/,/,$_);
+ return ( $IDSL, $TAG, $TAGNO, $ID, $SFI, $SFINO, $CODINF );
+});
print STDERR "\n# getting all ids ";
my @ids = keys %$data;
print STDERR "\n# getting all ids ";
my @ids = keys %$data;
@@
-101,6
+107,8
@@
my $number = 0;
foreach my $id ( @ids ) {
my $rec = MARC::Record->new;
$rec->encoding( 'UTF-8' );
foreach my $id ( @ids ) {
my $rec = MARC::Record->new;
$rec->encoding( 'UTF-8' );
+ $rec->add_fields( [ '001', $id ] );
+
foreach my $field ( sort keys %{ $data->{$id} } ) {
if ( $field eq 'leader' ) {
$rec->leader( $data->{$id}->{$field} );
foreach my $field ( sort keys %{ $data->{$id} } ) {
if ( $field eq 'leader' ) {
$rec->leader( $data->{$id}->{$field} );
@@
-108,7
+116,7
@@
foreach my $id ( @ids ) {
}
foreach my $arr ( @{ $data->{$id}->{$field} } ) {
if ( ! $arr ) {
}
foreach my $arr ( @{ $data->{$id}->{$field} } ) {
if ( ! $arr ) {
- print STDERR "SKIPPED $id $field ",dump( $data->{$id}->{$field} );
+ print STDERR "SKIPPED $id $field ",dump( $data->{$id}->{$field} )
, "\n"
;
next;
}
$rec->add_fields( $field, @$arr );
next;
}
$rec->add_fields( $field, @$arr );