$string = "(1,2,3) XXX (1,2,3)"; for ($string) { s/XXX \(/XXX \('/; s/(XXX [^,]+),/$1';'/g; s/;/,/g; s/\)$/'\)/; } print $string, "\n"; # Produces output: (1,2,3) XXX ('1','2,3')