--- trunk/isis_sf.pm 2003/02/23 07:08:54 29 +++ trunk/isis_sf.pm 2003/07/04 20:11:48 62 @@ -1,9 +1,9 @@ # -# isis_sf($isis_row,'isis_field'[,'subfield']) +# get_sf($isis_row,'isis_field'[,'subfield']) # -# e.g. isis_sf($row,'700','a') +# e.g. get_sf($row,'700','a') # -sub isis_sf { +sub get_sf { my $row = shift @_; my $isis_id = shift @_; my $subfield = shift @_; @@ -13,13 +13,14 @@ my $out; if ($row->{$isis_id}->[$i]) { - my $sf = OpenIsis::subfields($row->{$isis_id}->[$i]); - if (! defined $subfield || length($subfield) == 0) { + if (! $subfield) { # subfield list undef, empty or no defined subfields for this record my $all_sf = $row->{$isis_id}->[$i]; $all_sf =~ s/\^./ /g; # nuke definitions return $all_sf; - } elsif ($sf->{$subfield}) { + } + my $sf = OpenIsis::subfields($row->{$isis_id}->[$i]); + if ($sf->{$subfield}) { return $sf->{$subfield}; } }