1 |
dpavlin |
62 |
# |
2 |
dpavlin |
105 |
# marc_sf($marc,'field'[,'subfield']) |
3 |
dpavlin |
62 |
# |
4 |
dpavlin |
105 |
# e.g. marc_sf($row,'700','a') |
5 |
dpavlin |
62 |
# |
6 |
dpavlin |
105 |
sub marc_sf { |
7 |
dpavlin |
169 |
my $marc = shift @_ || die "marc_sf: needs record"; |
8 |
|
|
my $f = shift @_ || die "marc_sf: needs field name"; |
9 |
dpavlin |
62 |
my $s = shift @_; |
10 |
|
|
|
11 |
|
|
my $i = shift @_ || 0; |
12 |
|
|
|
13 |
dpavlin |
633 |
my @out; |
14 |
|
|
if ($s) { |
15 |
|
|
@out = $marc->subfield($f,$s); |
16 |
|
|
} else { |
17 |
|
|
@out = $marc->field($f)->as_string() if ($marc->field($f)); |
18 |
|
|
} |
19 |
dpavlin |
139 |
|
20 |
dpavlin |
90 |
return $out[$i] if (@out && $out[$i]); |
21 |
dpavlin |
62 |
} |
22 |
|
|
|
23 |
|
|
1; |
24 |
|
|
|