- if ( $type =~ m/(edt|trl|com|ctb)/ ) {
- push @{ $authors->{$authid}->{sec}->{ $category } }, $row->{biblionumber};
- push @{ $authors->{$authid}->{$1}->{ $category } }, $row->{biblionumber};
- } elsif ( $type =~ m/aut/ ) {
- if ( ! $have_100 ) {
- $have_edt = grep { exists $_->{4} && $_->{4} =~ m/edt/ } @{ $data->{700} } if ! defined $have_edt;
- if ( $have_edt ) {
- $skip->{ have_700_edt }->{ $row->{biblionumber} }++;
+ my @types = split(/\s+/, $type);
+
+ foreach my $type ( @types ) {
+ $type_stats->{_count_each_type}->{$type}++;
+
+ if ( $type =~ m/(edt|trl|com|ctb)/ ) {
+ push @{ $authors->{$authid}->{sec}->{ $category } }, $row->{biblionumber};
+ push @{ $authors->{$authid}->{$type}->{ $category } }, $row->{biblionumber};
+ $type =~ s/(com|ctb)/_ostalo/;
+ push @{ $authors->{$authid}->{$type}->{ $category } }, $row->{biblionumber};
+
+ } elsif ( $type =~ m/aut/ ) {
+ if ( ! $have_100 ) {
+ $have_edt = grep { exists $_->{4} && $_->{4} =~ m/edt/ } @{ $data->{700} } if ! defined $have_edt;
+ if ( $have_edt ) {
+ $skip->{ have_700_edt }->{ $row->{biblionumber} }++;
+ } else {
+ push @{ $authors->{$authid}->{aut}->{ $category } }, $row->{biblionumber};
+ }