perl -d DB<1> $_='979x + 87y - 8723z = 274320' DB<2> x /([^xyz]+(?=[xyz])|[xyz])/g 0 979 1 'x' 2 ' + 87' 3 'y' 4 ' - 8723' 5 'z'