my @subfields = $field->subfields();
my @subfield_array;
foreach my $subfield (@subfields) {
- if ( !defined($tagslib)
- || $tagslib->{$fieldtag}->{ @$subfield[0] }->{'tab'} >= 0 )
+ if (
+ !defined($tagslib)
+ || ( defined $tagslib->{$fieldtag}
+ && defined $tagslib->{$fieldtag}->{ @$subfield[0] }
+ && defined $tagslib->{$fieldtag}->{ @$subfield[0] }->{'tab'}
+ && $tagslib->{$fieldtag}->{ @$subfield[0] }->{'tab'} >= 0 )
+ )
{
push @subfield_array,
{
}
- if ( !defined($tagslib) || @subfield_array )
+ if (
+ (
+ !defined($tagslib) || ( defined $tagslib->{$fieldtag}
+ && defined $tagslib->{$fieldtag}->{'tab'}
+ && $tagslib->{$fieldtag}->{'tab'} >= 0 )
+ )
+ && @subfield_array
+ )
{
push @array,
{
# Getting MARC Structure
my $tagslib = GetTagsLabels( 1, $framework );
+ foreach my $field ( keys %$tagslib ) {
+ if ( defined $tagslib->{$field}->{'tab'} && $tagslib->{$field}->{'tab'} eq ' ' ) {
+ $tagslib->{$field}->{'tab'} = 0;
+ }
+ }
my $notreference =
( $authid[0] == $mergereference )