in reply to appending comment character in multiple lines based on condition
#!/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?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: appending comment character in multiple lines based on condition
by stevieb (Canon) on Jun 11, 2012 at 14:33 UTC | |
by hector89 (Novice) on Jun 11, 2012 at 18:16 UTC |