#!/usr/bin/perl # https://perlmonks.org/?node_id=1231669 use strict; use warnings; $_ = do { local $/; local @ARGV = qw(File1 File2); <> . <> }; print "$1 => Prev: $2 Now: $3\n" while /^(\w+), (\w+),.*\n(?=(?:.*\n)*\1, (?!\2,)(\w+).)/gm;