my $isis_id = shift @_;
my $subfield = shift @_;
- if ($row->{$isis_id}->[0]) {
- my $sf = OpenIsis::subfields($row->{$isis_id}->[0]);
- if (! defined $subfield || length($subfield) == 0) {
+ my $i = shift @_ || 0;
+
+ my $out;
+
+ if ($row->{$isis_id}->[$i]) {
+ if (! $subfield) {
# subfield list undef, empty or no defined subfields for this record
- my $all_sf = $row->{$isis_id}->[0];
- $all_sf =~ s/\^./ /g; nuke definirions
- return $all_sf;
- } elsif ($sf->{$subfield}) {
- return $sf->{$subfield};
+ my $all_sf = $row->{record}->{$isis_id}->[$i];
+ $all_sf =~ s/\^./ /g; # nuke definitions
+ return $all_sf;
}
+ my $sf = $row->{$isis_id}->[$i]->{$subfield};
+ return $sf if ($sf);
}
}