145 |
$fields->{$f}++; |
$fields->{$f}++; |
146 |
|
|
147 |
if ( ! defined($r->{$f}) ) { |
if ( ! defined($r->{$f}) ) { |
148 |
$errors->{field}->{ $f }->{extra} = "not expected"; |
$errors->{field}->{ $f }->{unexpected} = "this field is not expected"; |
149 |
next; |
next; |
150 |
} |
} |
151 |
|
|
185 |
$sf_repeatable->{$sf}++; |
$sf_repeatable->{$sf}++; |
186 |
}; |
}; |
187 |
if (! first { $_ eq $sf } @{ $r->{$f} }) { |
if (! first { $_ eq $sf } @{ $r->{$f} }) { |
188 |
$errors->{field}->{ $f }->{subfield}->{$sf} = "found extra subfield $sf which shouldn't exist"; |
$errors->{field}->{ $f }->{subfield}->{extra}->{$sf}++; |
189 |
} |
} |
190 |
} |
} |
191 |
|
|
193 |
if (my @r_sf = sort keys( %$sf_repeatable )) { |
if (my @r_sf = sort keys( %$sf_repeatable )) { |
194 |
|
|
195 |
foreach my $sf (@r_sf) { |
foreach my $sf (@r_sf) { |
196 |
$errors->{field}->{$f}->{subfield}->{$sf} = "repeatable"; |
$errors->{field}->{$f}->{subfield}->{repeatable}->{$sf}++; |
197 |
$errors->{field}->{$f}->{dump}->{$f} = |
$errors->{field}->{$f}->{dump}->{$f} = |
198 |
join('', _pack_subfields_hash( $h, 1 ) ); |
join('', _pack_subfields_hash( $h, 1 ) ); |
199 |
} |
} |