#!/usr/bin/perl use warnings; use strict; my $pattern1='Prod Link Start'; my $pattern2='Dev Link Start'; open my $fh, '<', 'hii.txt' or die "Can't open the damn file for reading!: $!"; my @file_content; while ( my $line = <$fh> ){ chomp $line; if ( $line =~/$pattern1/i && !/--%>$/){ print $line; $line.="--%>"; push @file_content, "$line\n"; next; } elsif ( $line =~/$pattern1/i && /--%>$/){ $line = ~ s/--%>//g; push @file_content, "$line\n"; next; } if ( $line =~/$pattern2/i && !/--%>$/){ print $line; $line.="--%>"; push @file_content, "$line\n"; next; } elsif ( $line =~/$pattern2/i && /--%>$/){ $line = ~ s/\s--%>//; push @file_content, "$line\n"; next; } push @file_content, "$line\n"; } close $fh; open $fh, '>', 'hii.txt' or die "Can't open the damned file for writing: $!"; print $fh @file_content; close $fh;