my $s = q(var1='1' var2="2" var3="'3'" var4='"4"'); while ($s =~ m/(\w+)=(["'])(.*?)\2/g) { print "(using quote $2): $1 = $3\n"; } #### (using quote '): var1 = 1 (using quote "): var2 = 2 (using quote "): var3 = '3' (using quote '): var4 = "4" #### my $s = q(var1='1" var2="2');