If the PATTERN contains parentheses, additional array elements are cre
+ated from each matching substring in the delimiter.
split(/([,-])/, "1-10,20", 3);
produces the list value
(1, '-', 10, ',', 20)
In my example, the delimiters are the parts we want to keep, the stuff between the delimiters is empty and needs to be thrown away.
Without the grep, the list you're getting back is actually
('', 12, '', 34, '', 56, '')
Where 12,34,56 are the delimiters matched by the regex and the empty strings are the "data" between the delimiters.
Obviously those empty strings have got to go, so we get rid of them by grepping out things that have no length.
-Blake
| [reply] [d/l] [select] |