7 |
BEGIN { |
BEGIN { |
8 |
use Exporter (); |
use Exporter (); |
9 |
use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); |
use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); |
10 |
$VERSION = 0.21; |
$VERSION = 0.22_1; |
11 |
@ISA = qw (Exporter); |
@ISA = qw (Exporter); |
12 |
#Give a hoot don't pollute, do not export more than needed by default |
#Give a hoot don't pollute, do not export more than needed by default |
13 |
@EXPORT = qw (); |
@EXPORT = qw (); |
519 |
my $hash = $isis->to_hash({ |
my $hash = $isis->to_hash({ |
520 |
mfn => 42, |
mfn => 42, |
521 |
include_subfields => 1, |
include_subfields => 1, |
522 |
|
regexps => [ |
523 |
|
's/something/else/g', |
524 |
|
], |
525 |
}); |
}); |
526 |
|
|
527 |
Each option controll creation of hash: |
Each option controll creation of hash: |
565 |
$mfn = $arg->{mfn} || confess "need mfn in arguments"; |
$mfn = $arg->{mfn} || confess "need mfn in arguments"; |
566 |
} |
} |
567 |
|
|
568 |
|
confess "regexps must be HASH" if ($arg->{regexps} && ref($arg->{regexps}) ne 'HASH'); |
569 |
|
|
570 |
# init record to include MFN as field 000 |
# init record to include MFN as field 000 |
571 |
my $rec = { '000' => [ $mfn ] }; |
my $rec = { '000' => [ $mfn ] }; |
572 |
|
|
585 |
next unless defined($l); |
next unless defined($l); |
586 |
} |
} |
587 |
|
|
588 |
|
# apply regexps |
589 |
|
if ($arg->{regexps} && defined($arg->{regexps}->{$f_nr})) { |
590 |
|
confess "regexps->{$f_nr} must be ARRAY" if (ref($arg->{regexps}->{$f_nr}) ne 'ARRAY'); |
591 |
|
my $c = 0; |
592 |
|
foreach my $r (@{ $arg->{regexps}->{$f_nr} }) { |
593 |
|
while ( eval '$l =~ ' . $r ) { $c++ }; |
594 |
|
} |
595 |
|
warn "## field $f_nr triggered $c regexpes\n" if ($c && $self->{debug}); |
596 |
|
} |
597 |
|
|
598 |
my $val; |
my $val; |
599 |
my $r_sf; # repeatable subfields in this record |
my $r_sf; # repeatable subfields in this record |
600 |
|
|