- my @broken;
- foreach my $page (keys %links) {
- if (pagespec_match($page, $params{pages}, location => $params{page})) {
- my $discussion=gettext("discussion");
- foreach my $link (@{$links{$page}}) {
- next if $link =~ /.*\/\Q$discussion\E/i && $config{discussion};
- my $bestlink=bestlink($page, $link);
- next if length $bestlink;
- push @broken, sprintf(gettext("%s from %s"),
- htmllink($page, $params{destpage}, $link, noimageinline => 1),
- htmllink($params{page}, $params{destpage}, $page, noimageinline => 1));
- }
+ my %broken;
+ foreach my $page (pagespec_match_list([keys %links],
+ $params{pages}, location => $params{page})) {
+ my $discussion=gettext("Discussion");
+ my %seen;
+ foreach my $link (@{$links{$page}}) {
+ next if $seen{$link};
+ $seen{$link}=1;
+ next if $link =~ /.*\/\Q$discussion\E/i && $config{discussion};
+ my $bestlink=bestlink($page, $link);
+ next if length $bestlink;
+ push @{$broken{$link}}, $page;