Perl Repetitive Pattern Matching

Problem:

GIVEN

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

WHAT I DID:

if ( $sql =~ m/^\s*INSERT\s+INTO\s+.*VALUES\s*\(/ )
   {
                          $sql =~ s/^\s*INSERT\s+INTO\s+[^\(]*\((.*),?\)\s+VALUES[\s]*\(([^\)]*)\).*/$1|--|$2/i;
                          $sql =~ s/([^,]*),.*?\|--\|([^,]*),.*?/$1=$2 AND/gi;
                          print "$sql"
   }

Actual Output:

a=2046 AND TODAY, 'Change Subscription Name', '00000000000002000000000000000000000000000000000000', '00000000000001000000000000000000000000000000000000', '00000000000000000000000000000000000000000000000000', 1

Can you please suggest me how to get the required output?

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 ";
}

Thanks summer_cherry.

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