#!/usr/bin/perl -w use strict; use 5.018; # find linkchecker error reports in html report, linkchecker-out20151120.html $/ = '\n
]; # errmsg from file: # ResultError: 404.... ( or 301 etc.) # ResultError: SSLError: [Errno 1] _ssl.c:504:.... my $errmsg = qr[ResultError:.*?(?=)]; my $eot = qr[]; open ($fh, "<", 'linkchecker-out20151120.html') or die "Can't open, $!"; while (<$fh> ) { if ( $_ =~ /$eot/ ) { last; } else { $_ = <$fh>; $item = $_; $item =~ s/\n//gs; $item .= "\n\n"; } if ( $item =~ /$errmsg/ ) { push @erritems, $item; } } say "Errors id'ed in LinkChecker output, 'linkchecker-out20151120.html'\n"; for $_(@erritems) { print $/; say $_; }