http://www.perlmonks.org?node_id=506220


in reply to Re: Parsing named parameters
in thread Parsing named parameters

Thanks very much sauoq,

Even though I can sort of read positive/negative-look-ahead regexs, I still haven't been able to exploit it effecitively in my code! Whenever I am stuck like this next time I should try out that type of solution :)

Just for other people's benefit, I shall try to explain your solution. Please correct me if i am wrong

Input: option1 = value0 value1 value2 option3 =value3 value4 option2=v +alue5 split /(?=\s\S+\s*=)/, $line
Here the regex looks for positions where there is a space followed by more than one non-space char and then an =. When such a position is found, it splits on null char. Here, it will split right before option3 = (for the first time). We can also modify this regex slightly to make it -  /\s+(?=\S+\s*=)/.

Thanks very much.

Also thanks to QM and pg for their suggestions/solutions!

cheers

SK