|
Lines 385-390
sub _read_subfield {
Link Here
|
| 385 |
|
385 |
|
| 386 |
Returns the field numbers or an empty array. |
386 |
Returns the field numbers or an empty array. |
| 387 |
|
387 |
|
|
|
388 |
Also returns the not_exists field numbers if looking at subfieldName too. |
| 389 |
|
| 388 |
=cut |
390 |
=cut |
| 389 |
|
391 |
|
| 390 |
sub field_exists { |
392 |
sub field_exists { |
|
Lines 396-413
sub field_exists {
Link Here
|
| 396 |
if ( !$record ) { return; } |
398 |
if ( !$record ) { return; } |
| 397 |
|
399 |
|
| 398 |
my @field_numbers = (); |
400 |
my @field_numbers = (); |
|
|
401 |
my @not_exists_numbers = (); |
| 399 |
my $current_field_number = 1; |
402 |
my $current_field_number = 1; |
| 400 |
for my $field ( $record->field($fieldName) ) { |
403 |
for my $field ( $record->field($fieldName) ) { |
| 401 |
if ($subfieldName) { |
404 |
if ($subfieldName) { |
| 402 |
push @field_numbers, $current_field_number |
405 |
if ( $field->subfield($subfieldName) ) { |
| 403 |
if $field->subfield($subfieldName); |
406 |
push @field_numbers, $current_field_number; |
|
|
407 |
} else { |
| 408 |
push @not_exists_numbers, $current_field_number; |
| 409 |
} |
| 404 |
} else { |
410 |
} else { |
| 405 |
push @field_numbers, $current_field_number; |
411 |
push @field_numbers, $current_field_number; |
| 406 |
} |
412 |
} |
| 407 |
$current_field_number++; |
413 |
$current_field_number++; |
| 408 |
} |
414 |
} |
| 409 |
|
415 |
|
| 410 |
return \@field_numbers; |
416 |
return ( \@field_numbers, \@not_exists_numbers ); |
| 411 |
} |
417 |
} |
| 412 |
|
418 |
|
| 413 |
=head2 field_equals |
419 |
=head2 field_equals |
| 414 |
- |
|
|