Code: use strict; use warnings; open my $F1, '<', 'testing.txt' or die "failed $!"; open my $F2, '>', 'out.txt' or die "failed $!"; while (<$F1>) { if (/^\$ NAME : sandy/../\$.TO/) { print $F2 $_; } if (/^\$ NAME : patrick/../\$.EON/) { if(/^G1/../\$SRU){ s/G1/G1.G1o.n/g; print $F2 $_;} } } close $F1; close $F2;