Catmandu::Fix::marc_paste - paste a MARC structured field back into the MARC record
# Copy a MARC field marc_copy(001, fixed001) # Change it set_fieldfixed001.0.tag,002) # Paste it back into the record marc_paste(fixed001)
Paste a MARC stucture created by Catmandu::Fix::marc_struc back at the end of a MARC record.
Paste a MARC struct PATH back in the MARC record. By default the MARC structure will be pasted at the end of the record. Optionally provide an at option to set the MARC field after which the structure needs to be pasted. Optionally provide a regex that should match the content of the at field.
at
# Paste mycopy at the end of the record marc_paste(mycopy) # Paste mycopy after the last 300 field marc_paste(mycopy, at:300) # Paste mycopy after the last 300 field with indicator1 = 1 marc_paste(mycopy, at:300[1]) # Paste mycopy after the last 300 field which has an 'a' subfield marc_paste(mycopy, at:300a) # Paste mycopy after the last 300 field which has an 'a' subfield equal to 'ABC' marc_paste(mycopy, at:300a, equals:'^ABC$') # Paste mycopy after the last 300 field with all concatinated subfields equal to 'ABC' marc_paste(mycopy, at:300, equals:'^ABC$')
This Fix can be used inline in a Perl script:
use Catmandu::Fix::marc_struc as => 'marc_struc'; use Catmandu::Fix::marc_paste as => 'marc_paste'; my $data = { record => ['650', ' ', 0, 'a', 'Perl'] }; $data = marc_struc($data,'650','subject'); $data = marc_paste($data,'subject');
Catmandu::Fix::marc_copy
Catmandu::Fix::marc_cut
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
To install Catmandu::MARC, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catmandu::MARC
CPAN shell
perl -MCPAN -e shell install Catmandu::MARC
For more information on module installation, please visit the detailed CPAN module installation guide.