- foreach (@$results) {
- my ($value) = $_->{'summary'};
- # Removes new lines
- $value =~ s/<br \/>/ /g;
- $value =~ s/\n//g;
- print nsb_clean($value) . "\n";
+
+ my %used_summaries; # hash to avoid duplicates
+ my @summaries;
+ foreach my $result (@$results) {
+ my $authorized = $result->{'summary'}->{'authorized'};
+ my $summary = join(
+ ' ',
+ map {
+ ( $searchtype eq 'mainmainentry' )
+ ? $_->{'hemain'}
+ : $_->{'heading'}
+ } @$authorized
+ );
+ $summary =~ s/^\s+//;
+ $summary =~ s/\s+$//;
+ $summary = nsb_clean($summary);
+ # test if already added ignoring case
+ unless ( exists $used_summaries{ lc($summary) } ) {
+ push @summaries, { 'summary' => $summary };
+ $used_summaries{ lc($summary) } = 1;
+ }