Line # Revision Author
1 10 dpavlin #
2 678 dpavlin # hash_sf($row_data,'field'[,'subfield'])
3 10 dpavlin #
4 678 dpavlin # e.g. hash_sf($row,'700','a')
5 10 dpavlin #
6 678 dpavlin sub hash_sf {
7 10 dpavlin my $row = shift @_;
8 678 dpavlin my $field = shift @_;
9 10 dpavlin my $subfield = shift @_;
10
11 29 dpavlin my $i = shift @_ || 0;
12
13 my $out;
14
15 678 dpavlin if ($row->{$field}->[$i]) {
16 45 dpavlin if (! $subfield) {
17 10 dpavlin # subfield list undef, empty or no defined subfields for this record
18 678 dpavlin my $all_sf = $row->{record}->{$field}->[$i] || confess "can't find field $field:$i",Dumper($row);
19 $all_sf =~ s/[\^\$]./ /g; # nuke definitions
20 29 dpavlin return $all_sf;
21 45 dpavlin }
22 678 dpavlin my $sf = $row->{$field}->[$i]->{$subfield};
23 619 dpavlin return $sf if ($sf);
24 10 dpavlin }
25 }
26
27 1;
28