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 |
- |
|
|