160 |
if ( my $regex = $self->{delimiters_regex} ) { |
if ( my $regex = $self->{delimiters_regex} ) { |
161 |
|
|
162 |
foreach my $v (@{ $rec->{$f} }) { |
foreach my $v (@{ $rec->{$f} }) { |
163 |
my $l = _pack_subfields_hash( $v, 1 ); |
my $l = _pack_subfields_hash( $v, 1 ); |
164 |
my $template = ''; |
my $subfield_dump = $l; |
165 |
$l =~ s/$regex/$template.=$1/eg; |
my $template = ''; |
166 |
# warn "## template: $template\n"; |
$l =~ s/$regex/$template.=$1/eg; |
167 |
$self->{_delimiters_templates}->{$f}->{$template}++ if ( $template ); |
#warn "## template: $template\n"; |
168 |
|
|
169 |
|
if ( $template ) { |
170 |
|
$self->{_delimiters_templates}->{$f}->{$template}++; |
171 |
|
|
172 |
|
if ( my $v = $self->{_validate_delimiters_templates} ) { |
173 |
|
if ( ! defined( $v->{$template} ) ) { |
174 |
|
$errors->{$f}->{invalid_delimiters_combination} = $template; |
175 |
|
$errors->{$f}->{dump} = $subfield_dump; |
176 |
|
} else { |
177 |
|
warn "## $f $template ok\n"; |
178 |
|
} |
179 |
|
} |
180 |
|
} |
181 |
} |
} |
|
|
|
182 |
} |
} |
183 |
|
|
184 |
next if (defined( $self->{dont_validate}->{$f} )); |
next if (defined( $self->{dont_validate}->{$f} )); |
338 |
|
|
339 |
if ($k eq 'dump') { |
if ($k eq 'dump') { |
340 |
$dump = $tree->{dump}; |
$dump = $tree->{dump}; |
341 |
# warn "## dump: ",dump($dump),"\n"; |
#warn "## dump ",dump($dump),"\n"; |
342 |
next; |
next; |
343 |
} |
} |
344 |
|
|
372 |
sub _reformat { |
sub _reformat { |
373 |
my $l = shift; |
my $l = shift; |
374 |
$l =~ s/\t/ /g; |
$l =~ s/\t/ /g; |
375 |
$l =~ s/_/ /; |
$l =~ s/_/ /g; |
376 |
return $l; |
return $l; |
377 |
} |
} |
378 |
|
|