Normally split is used to extract the stuff between delimiters. The delimiters are tossed aside, and the resulting list doesn't contain them. However, this behavior
can be modified, and we can keep the delimiters if we want to:
From the split documentation:
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
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.