From ac02c1d2adc883cc6ff6b749c271cb165d337436 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Mon, 27 Nov 2023 16:12:41 +0100 Subject: [PATCH] Bug 35405: Remove noise from MARC::Record in SearchAuthorities We are calling ->field with an undef parameter. MARC::Record does not like that and says: Use of uninitialized value $tag in hash element at /usr/share/perl5/MARC/Record.pm line 202. For now, a fix at our side. Test plan: Run SearchAuthorities without passing an authtypecode. Without this patch, it results in a warning per hit. With this patch, the noise should be gone. Signed-off-by: Marcel de Rooy Signed-off-by: David Nind Signed-off-by: Tomas Cohen Arazi Signed-off-by: Katrin Fischer --- C4/AuthoritiesMarc.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm index 4c593e4eb6..8c4dde95af 100644 --- a/C4/AuthoritiesMarc.pm +++ b/C4/AuthoritiesMarc.pm @@ -297,12 +297,13 @@ sub SearchAuthorities { my %newline; $newline{authid} = $authid; if ( !$skipmetadata ) { - my $auth_tag_to_report; - $auth_tag_to_report = Koha::Authority::Types->find($authtypecode)->auth_tag_to_report - if $authtypecode; - my $reported_tag; - my $mainentry = $authrecord->field($auth_tag_to_report); + my ( $auth_tag_to_report, $reported_tag, $mainentry ); + if ( $authtypecode ) { + $auth_tag_to_report = Koha::Authority::Types->find($authtypecode)->auth_tag_to_report; + $mainentry = $authrecord->field($auth_tag_to_report) if $auth_tag_to_report; + } if ($mainentry) { + $reported_tag = q{}; foreach ( $mainentry->subfields() ) { $reported_tag .= '$' . $_->[0] . $_->[1]; }