projects
/
webpac
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
be more forgiving to changes in results templates
[webpac]
/
marc_sf.pm
diff --git
a/marc_sf.pm
b/marc_sf.pm
index
728759e
..
4da5eae
100644
(file)
--- a/
marc_sf.pm
+++ b/
marc_sf.pm
@@
-1,18
+1,23
@@
#
#
-#
get
_sf($marc,'field'[,'subfield'])
+#
marc
_sf($marc,'field'[,'subfield'])
#
#
-# e.g.
get
_sf($row,'700','a')
+# e.g.
marc
_sf($row,'700','a')
#
#
-sub
get
_sf {
- my $marc = shift @_;
- my $f = shift @_;
+sub
marc
_sf {
+ my $marc = shift @_
|| die "marc_sf: needs record"
;
+ my $f = shift @_
|| die "marc_sf: needs field name"
;
my $s = shift @_;
my $i = shift @_ || 0;
my $s = shift @_;
my $i = shift @_ || 0;
- my $out;
+ my @out;
+ if ($s) {
+ @out = $marc->subfield($f,$s);
+ } else {
+ @out = $marc->field($f)->as_string() if ($marc->field($f));
+ }
- return $
marc->getfirstvalue({record=>$marc->marc_count(),field=>$f,subfield=>$s,delimiter=>" "}
);
+ return $
out[$i] if (@out && $out[$i]
);
}
1;
}
1;