8 our @EXPORT_OK = qw(load_MARC_rec);
21 # skim to beginning of record (a non-blank, non comment line)
22 while ($line = <$fh>) {
24 last if (!($line =~ /^\s*$/) && !($line =~ /^#/));
27 return undef if !$line;
29 $marc = MARC::Record->new();
30 carp('No record created!') unless $marc;
32 $marc->leader('01119nas 22003134a 4500');
34 MARC::Field->new('008', '970701c18439999enkwr p 0 a0eng '));
36 MARC::Field->new('035', '', '', a => sprintf('%04d', $testno)));
39 next if $line =~ /^#/; # allow embedded comments
41 return $marc if $line =~ /^\s*$/;
43 my ($fieldno, $indicators, $rest) = split(/ /, $line, 3);
44 my @inds = unpack('aa', $indicators);
49 foreach my $subfield (split(/\$/, $rest)) {
50 next unless $subfield;
52 my ($key, $val) = unpack('aa*', $subfield);
53 push @subfields, $key, $val;
56 $field = MARC::Field->new(
57 $fieldno, $inds[0], $inds[1],
62 $marc->append_fields($field);