The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

CONSTRUCTOR

  params
      $num_to_fetch: number of records to retrieve in current pass
      format => undef,       # reference to a callback function that formats each row of
                             # a record
      raw => 0,              # (boolean) if true the raw record data is returned unformatted 
      start => 1,            # number of the record with which to start report
      num_to_fetch => 5,     # number of records to include in  a report
      marc_fields => $std,   # default: $std, others are $xtra or $all
      marc_xcl => undef,     # reference to hash of MARC fields to exclude from report
      marc_userdef => undef, # reference to user specified hash of MARC fields for report                       
      marc_subst => undef    # reference to a hash which subtitutes field names for default
                             # names    
      HTML =>0          # (boolean) if true use default HTML formatting, 
                        # if false format as plain text
                        # if true each row will be formatted as follows:
                        #    "<tr><td>field name<td>field data\n"     
                        # if false each row will be formatted as follows:
                        #    "MARC_field_number  field_name   field_data\n"

 record row priority squence:  raw, format, HTML, plaintext

 marc_xcl:      the hash values can be in any form, as long as the keys pass
                the exists test  (if exists $marc_xcl->{ $key }), for instance:
 
                    { '020'=>"", 500=>"", 300=>undef, 520=>'annotation' }

                 the key is always three digits;
                 if the first digit is 0, then the key must be enclosed 
                 in quotation marks

 marc_userdef   this allows the user to specify which fields to include in the
                report and what names are to be used for them   

 marc_subst      enables user-defined field names, for instance, where the 
                 defualt is:
                        250=>'edition', 650=>'subject'
                a hash can be specfied with substitutions:
                        { 250=>'ed.', 650=>'subj.'}
                
                
 marc fields priority sequence:  marc_userdef, marc_fields, marc_xcl, marc_subst
                This means that
                     1. marc_userdef will replace marc_fields if marc_userdef exists
                     2. marc_xcl will be applied to the hash which results from 
                        operation 1
                     3. marc_subst will be applied to the hash resulting from 1 plus 2