64 |
encoding => 'ISO-8859-2', |
encoding => 'ISO-8859-2', |
65 |
recode => 'char pairs', |
recode => 'char pairs', |
66 |
no_progress_bar => 1, |
no_progress_bar => 1, |
67 |
|
input_config => { |
68 |
|
mapping => [ 'foo', 'bar', 'baz' ], |
69 |
|
}, |
70 |
); |
); |
71 |
|
|
72 |
C<module> is low-level file format module. See L<WebPAC::Input::ISIS> and |
C<module> is low-level file format module. See L<WebPAC::Input::ISIS> and |
236 |
|
|
237 |
my $ll_db = $class->new( |
my $ll_db = $class->new( |
238 |
path => $arg->{path}, |
path => $arg->{path}, |
239 |
|
input_config => $arg->{input_config} || $self->{input_config}, |
240 |
# filter => sub { |
# filter => sub { |
241 |
# my ($l,$f_nr) = @_; |
# my ($l,$f_nr) = @_; |
242 |
# return unless defined($l); |
# return unless defined($l); |
523 |
|
|
524 |
my $out = join("\n", |
my $out = join("\n", |
525 |
map { |
map { |
526 |
my $f = $_ || die "no field"; |
my $f = $_; |
527 |
|
die "no field in ", dump( $s->{fld} ) unless defined( $f ); |
528 |
my $v = $s->{fld}->{$f} || die "no s->{fld}->{$f}"; |
my $v = $s->{fld}->{$f} || die "no s->{fld}->{$f}"; |
529 |
$max_fld = $v if ($v > $max_fld); |
$max_fld = $v if ($v > $max_fld); |
530 |
|
|
531 |
my $o = sprintf("%4s %d ~", $f, $v); |
my $o = sprintf("%4s %d ~", $f, $v); |
532 |
|
|
533 |
if (defined($s->{sf}->{$f})) { |
if (defined($s->{sf}->{$f})) { |
534 |
|
my @subfields = keys %{ $s->{sf}->{$f} }; |
535 |
map { |
map { |
536 |
$o .= sprintf(" %s:%d%s", $_, |
$o .= sprintf(" %s:%d%s", $_, |
537 |
$s->{sf}->{$f}->{$_}->{count}, |
$s->{sf}->{$f}->{$_}->{count}, |
538 |
$s->{sf}->{$f}->{$_}->{repeatable} ? '*' : '', |
$s->{sf}->{$f}->{$_}->{repeatable} ? '*' : '', |
539 |
); |
); |
540 |
} sort keys %{ $s->{sf}->{$f} }; |
} ( |
541 |
|
# first indicators and other special subfields |
542 |
|
sort( grep { length($_) > 1 } @subfields ), |
543 |
|
# then subfileds (single char) |
544 |
|
sort( grep { length($_) == 1 } @subfields ), |
545 |
|
); |
546 |
} |
} |
547 |
|
|
548 |
if (my $v_r = $s->{repeatable}->{$f}) { |
if (my $v_r = $s->{repeatable}->{$f}) { |
550 |
} |
} |
551 |
|
|
552 |
$o; |
$o; |
553 |
} sort { $a cmp $b } keys %{ $s->{fld} } |
} sort { $a <=> $b } keys %{ $s->{fld} } |
554 |
); |
); |
555 |
|
|
556 |
$log->debug( sub { dump($s) } ); |
$log->debug( sub { dump($s) } ); |
569 |
|
|
570 |
return unless $self->{ll_db}; |
return unless $self->{ll_db}; |
571 |
|
|
572 |
if ($self->{ll_db}->can('dump_rec')) { |
if ($self->{ll_db}->can('dump_ascii')) { |
573 |
return $self->{ll_db}->dump_ascii( $self->{pos} ); |
return $self->{ll_db}->dump_ascii( $self->{pos} ); |
574 |
} else { |
} else { |
575 |
return dump( $self->{ll_db}->fetch_rec( $self->{pos} ) ); |
return dump( $self->{ll_db}->fetch_rec( $self->{pos} ) ); |