Most of your questions seem to stem from an expectation that
split works by finding a string literal you pass it. While this expectation is correct for cases like
split 'x', 'axbxc';, split actually works based upon
regular expressions. Regular expressions use several metacharacters, one of which is
. - it a wildcard. You may gain some illumination by testing your expressions in code similar to:
print join "_|_", split /./, $foo;
To answer more on point for your questions:
- As previously stated, . is a regular expression metacharacter. To split on literal periods, use the regular expression /\./ or use the \Q \E combo (e.g. split /\Q.\E/, $foo;) to handle your escaping for you - see Quote and Quote like Operators.
- Double quotes are interpolated by Perl and single quotes are not - again, see Quote and Quote like Operators. In your case, double quotes apply escaping to backslashed characters. This means "\\." is equivalent to '\.' and "\." is equivalent to '.'. In particular, backslash is an ordinary character in single quotes unless followed by another backslash or by a single quote.
- In the last example, the regular expression engine is looking for a literal backslash followed by any character.
If any of this is unclear, I would be happy to expound further.
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.