$_ = "<*2>FOO<2,1>,<*3>(SigB<8:0:2>,BAR),<*2>Siga<2:0>,Sigb<8,7,6,5,0>"; @line = split(/,(?![\w,]+[>)])/, $_); print join("\n", @line), $/; #### <*2>FOO<2,1> <*3>(SigB<8:0:2>,BAR) <*2>Siga<2:0> Sigb<8,7,6,5,0>