my $sql="INSERT INTO table_nm(a, b, b, d, e, f , g) VALUES (2046, TODAY, 'Change Subscription Name', '00000000000002000000000000000000000000000000000000', '00000000000001000000000000000000000000000000000000', '00000000000000000000000000000000000000000000000000', 1); ";
Required O/P:
a=2046 AND b=TODAY AND c='Change Subscription Name' AND d='00000000000002000000000000000000000000000000000000' AND e='00000000000001000000000000000000000000000000000000' AND f='00000000000000000000000000000000000000000000000000' AND g=1
my $sql="INSERT INTO table_nm(a, b, c, d, e, f , g) VALUES (2046, TODAY, 'Change Subscription Name', '00000000000002000000000000000000000000000000000000', '00000000000001000000000000000000000000000000000000', '00000000000000000000000000000000000000000000000000', 1); ";
my @arr=$sql=~/\(([^)]*)\)/g;
my @tmp1=split(",",$arr[0]);
my @tmp2=split(",",$arr[1]);
for(my $i=0;$i<=$#tmp1;$i++){
print $tmp1[$i],"=",$tmp2[$i]," AND ";
}
But I want to do the whole things only by pattern matching.
---------- Post updated at 05:17 AM ---------- Previous update was at 05:15 AM ----------
Input is changed little bit. Inside the quotes ',' can present... Please try to use pattern matching only
GIVEN
my $sql="INSERT INTO table_nm(a, b, b, d, e, f , g) VALUES (2046, TODAY, 'Change Subscription Name', '000000000000020000, 0000000000000000000000, 0000000000', '00000000000001000, 000000000000000000000000000000000', '0000000000000000,0000000000000000000000000000000000', 1); ";
Required O/P:
a=2046 AND b=TODAY AND c='Change Subscription Name' AND d='000000000000020000, 0000000000000000000000, 0000000000' AND e='00000000000001000, 000000000000000000000000000000000AND f='0000000000000000,0000000000000000000000000000000000' AND g=1