On Wed, Oct 15, 2003 at 02:25:55PM +0100, Ashley Sanders wrote:
> The record isn't strictly correct as the Indicator count and
> Subfield code length are both blank (character positions 10 and
> 11.) MARC21 says these should always be set to 2. Also the
> Lenght of length-of-field, length of starting-character-position
> and length of implementation-defined (positions 20, 21, 22)
> should also be set to 4, 5, and 0 respectively. Position 22
> should also be 0.
Thanks for the details Ashley. When building a MARC record, and the leader is
not specified with the MARC::Record::leader() method, then a minimal leader is
built, with an autopopulated record length (positions 0-4), and base address of
data (positions 12-16)...but that's it.
I've entered a bug [1] in to rt.cpan.org indicating that the autopopulation
should also add other MARC21 defaults as specified here [2]
Chritoppher, for the time being (ie. until he method is fixed) you can always
specify the leader yourself and include the positions that Ashely mentions.
## build leader piecemeal
my $ldr = ' ' x 24;
substr( $ldr, 10 ) = 2;
substr( $ldr, 11 ) = 2;
substr( $ldr, 20 ) = 4;
substr( $ldr, 21 ) = 5;
substr( $ldr, 22 ) = 0;
$r->leader( $ldr );
It would be interesting to know if this was what was throwing Zebra. Thanks
very much for posting to the list, and let us know if there are any more
developments. A new MARC::Record should be available soonish.
//Ed
[1] https://rt.cpan.org/Ticket/Display.html?id=4113
[2] http://www.loc.gov/marc/bibliographic/ecbdldrd.html