in reply to Splitting string using two overlapping patterns
And I think, you should a) replace consecutive white space with a single blank, b) replace braces with quotes, and then c) use Text::CSV to split into fields.