$s = q[key1=val1 key2=val2 key3=val3 key4="val4a val4b" key5="val5key=(0 1 2 3)" key6=(val6a val6b)];; @a = split " (?=key)", $s;; print for @a;; key1=val1 key2=val2 key3=val3 key4="val4a val4b" key5="val5key=(0 1 2 3)" key6=(val6a val6b)