#!/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 readi +ng!: $!"; 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 writin +g: $!"; print $fh @file_content; close $fh;
in this code each time it's appending "--%>"character even if condition becomes false in first if condition.i think there is some problem in using and operator.in this code it behaves meaningless.can anyone tell me where am i wrong?
In reply to Re: appending comment character in multiple lines based on condition
by hector89
in thread appending comment character in multiple lines based on condition
by hector89
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |