The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

MARC::Leader::Print - MARC leader class for print.

SYNOPSIS

 use MARC::Leader::Print;

 my $obj = MARC::Leader::Print->new(%params);
 my @ret = $obj->print($leader_obj);
 my $ret = $obj->print($leader_obj);

METHODS

new

 my $obj = MARC::Leader->new(%params);

Constructor.

  • mode_ansi

    Mode for ANSI color support:

     1 - ANSI color support enabled.
     0 - ANSI color support disabled.

    When is undefined, env variables COLOR or NO_COLOR could control ANSI color support.

    Default value is undef.

  • mode_desc

    Use description instead of raw leader values.

    Default value is 1.

  • output_separator

    Output separator used in scalar context of print() method.

    Default value is "\n".

Returns instance of object.

print

 my @ret = $obj->print($leader_obj);
 my $ret = $obj->print($leader_obj);

Process Data::MARC::Leader instance to output print. In scalar context compose printing output as one string. In array context compose list of printing lines.

Color (ANSI colors) output is controlled by 'mode_ansi' parameter or env variables COLOR and NO_COLOR.

Returns string in scalar context. Returns array of string in array context.

ERRORS

 new():
         From Class::Utils::set_params():
                 Unknown parameter '%s'.

EXAMPLE

 use strict;
 use warnings;

 use Data::MARC::Leader;
 use MARC::Leader::Print;

 # Print object.
 my $print = MARC::Leader::Print->new;

 # Data object.
 my $data_marc_leader = Data::MARC::Leader->new(
         'bibliographic_level' => 'm',
         'char_encoding_scheme' => 'a',
         'data_base_addr' => 541,
         'descriptive_cataloging_form' => 'i',
         'encoding_level' => ' ',
         'impl_def_portion_len' => '0',
         'indicator_count' => '2',
         'length' => 2200,
         'length_of_field_portion_len' => '4',
         'multipart_resource_record_level' => ' ',
         'starting_char_pos_portion_len' => '5',
         'status' => 'c',
         'subfield_code_count' => '2',
         'type' => 'e',
         'type_of_control' => ' ',
         'undefined' => '0',
 );

 # Print to output.
 print scalar $print->print($data_marc_leader), "\n";

 # Output:
 # Record length: 2200
 # Record status: Corrected or revised
 # Type of record: Cartographic material
 # Bibliographic level: Monograph/Item
 # Type of control: No specified type
 # Character coding scheme: UCS/Unicode
 # Indicator count: Number of character positions used for indicators
 # Subfield code count: Number of character positions used for a subfield code (2)
 # Base address of data: 541
 # Encoding level: Full level
 # Descriptive cataloging form: ISBD punctuation included
 # Multipart resource record level: Not specified or not applicable
 # Length of the length-of-field portion: Number of characters in the length-of-field portion of a Directory entry (4)
 # Length of the starting-character-position portion: Number of characters in the starting-character-position portion of a Directory entry (5)
 # Length of the implementation-defined portion: Number of characters in the implementation-defined portion of a Directory entry (0)
 # Undefined: Undefined

DEPENDENCIES

Class::Utils, Data::MARC::Leader::Utils, English, Error::Pure.

And optional Term::ANSIColor for ANSI color support.

SEE ALSO

Data::MARC::Leader

Data object for MARC leader.

REPOSITORY

https://github.com/michal-josef-spacek/MARC-Leader-Print

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2023 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.02