When referenced authority in 5XX$3 would be the same as the current authid, the script would get into infinite loop
foreach my $field ($record->field('5..')){
if ($field->subfield('5') && $field->subfield('5') eq 'g'){
my $subfauthid=_get_authid_subfield($field);
foreach my $field ($record->field('5..')){
if ($field->subfield('5') && $field->subfield('5') eq 'g'){
my $subfauthid=_get_authid_subfield($field);
+ next if ($subfauthid eq $authid);
my $parentrecord = GetAuthority($subfauthid);
my $localresult=$hierarchies;
my $trees;
my $parentrecord = GetAuthority($subfauthid);
my $localresult=$hierarchies;
my $trees;