fix crash introduced in previous patch

In the previous patch,

-    my @subf = $field->subfields;
-    (defined @subf) or @subf = ();

is not equivalent to

+    my @subf = $field->subfields || ();

as, the results of $field->subields is interpeted in scalar
context, not list context, resutling in @subf containing
the number of subfields, not the subfield data itself, which
engenders the error

Can't use string ("1") as an ARRAY ref while "strict refs" in use

later on.  Changing the operator to 'or' instead of '||'
fixes this.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This commit is contained in:
Galen Charlton 2009-07-14 22:00:36 -04:00 committed by Henri-Damien LAURENT
parent f6d2ffa984
commit 36f9ac9be2
1 changed files with 1 additions and 1 deletions

View File

@ -198,7 +198,7 @@ my ($branchtagfield, $branchtagsubfield) = &GetMarcFromKohaField("items.homebran
foreach my $field (@fields) {
next if ($field->tag()<10);
my @subf = $field->subfields || ();
my @subf = $field->subfields or (); # don't use ||, as that forces $field->subfelds to be interpreted in scalar context
my %this_row;
# loop through each subfield
for my $i (0..$#subf) {