Revision 684 (by dpavlin, 2005/02/28 10:43:38) updated branches to head
#
# hash_sf($row_data,'field'[,'subfield'])
#
# e.g. hash_sf($row,'700','a')
#
sub hash_sf {
	my $row = shift @_;
	my $field = shift @_;
	my $subfield = shift @_;

	my $i = shift @_ || 0;

	my $out;

	if ($row->{$field}->[$i]) {
		if (! $subfield) {
			# subfield list undef, empty or no defined subfields for this record
			my $all_sf = $row->{record}->{$field}->[$i] || confess "can't find field $field:$i",Dumper($row);
			$all_sf =~ s/[\^\$]./ /g;   # nuke definitions
			return $all_sf;	
		}
		my $sf = $row->{$field}->[$i]->{$subfield};
		return $sf if ($sf);
	}
}

1;