i'm able to delete or append "--%>" to string but problem is if i found "--%>" onone pattern it should be deleted from that pattern and append to second pattern at the same time...so i'm notable to figure out how i should traverse upto next line where second pattern exists and by checking condition of first pettern it should do changes on second pattern accordingly.
#!/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.="--%>";
my $var = substr($line, -4);
print $var;
if($var !~/--%>/)
{
$line.= "--%>";
print $line;
}
elsif($var = ~/--%>/)
{
$line = substr($line, 0, - 4);
print $line;
}
push @file_content, "$line\n";
next;
}
if ( $line =~/$pattern2/i){
# print $line;
#$line.="--%>";
my $var = substr($line, -4);
print $var;
if($var !~/--%>/)
{
$line.= "--%>";
print $line;
}
elsif($var = ~/--%>/)
{
$line = substr($line, 0, - 4);
print $line;
}
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;
this code just finds the pattern and append or delete --%> on condition.but how i should delete it from one pattern and append it to other pattern.anyone suggest me
|