my $i = shift @_ || 0;
- my $rec = $main::cache->{marc_record} || die '$cache->{marc_record} is undefined!';
-
- my @out = $marc->getvalue({record=>$rec,field=>$f,subfield=>$s});
+ my @out;
+ if ($s) {
+ @out = $marc->subfield($f,$s);
+ } else {
+ @out = $marc->field($f)->as_string() if ($marc->field($f));
+ }
return $out[$i] if (@out && $out[$i]);
}