in reply to Splitting inside an array
If the PATTERN contains parentheses, additional array elements are created from each matching substring in the delimiter.
split(/([,-])/, "1-10,20", 3); produces the list value
(1, '-', 10, ',', 20)
So...for your example "x := y + z;":
Produces:$_="x:= y + z;" ; for (split(/(:=|\+|;)/)) { print "[$_]\n"; }
[x] [:=] [ y ] [+] [ z] [;]
|
|---|