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

Reply via email to