use strict;
open (in, "your-file-path.log") or die "open error: $!";
my @lines = ("", <in>, "");
for (my $i = 1; $i < @lines-1; $i++) {
if ( compare_line($lines[$i-1], $lines[$i])
|| compare_line($lines[$i], $lines[$i+1]) ) {
print $lines[$i];
}
}
sub compare_line {
my @v1 = extract_fields(shift);
my @v2 = extract_fields(shift);
return unless @v1 && @v2;
return compare_fields(\@v1, \@v2);
}
sub compare_fields {
my ($x, $y) = @_;
return ($x->[2] eq $y->[2]) && ($x->[3] eq $y->[3]) && ($x->[4] eq $y->[4]);
}
sub extract_fields {
my $line = shift;
return ($line =~ /¦(\s+)/g);
}