#! perl use strict; use warnings; my $idx; my $old; my $cnt; while () { ++$idx; # Count loop $old = $_; # Save $_ $cnt = s/(?:)/x/g; s/\n//g; # Change $_ print<<__X__ if $old =~ /(?:)/; Line $idx - seen $old ... but is now $_ ... and \(?:) matched in $cnt places __X__ } __DATA__ Line 3 Line 5