Because "foo\n" =~ /foo$/, I tend to explain it differently. ^ and $ are begin and end of a line, but /m modifies the meaning of "line".
I don't see how that explanation can work, though. $ only ever means EOL when /m is operative. You can see that by running:
"foo\nbar" =~ /foo$/ or print "Didn't match EOL :-(\n";
I see that you've updated the sheet to just:
$ end (before \n)
Can I suggest that (if you also used the suggestion at the end of this node) that could just become:
^ start of str
$ end of str (incl \n)
Those descriptions would be sufficient if you were also more explicit about /s
. Explaining that they mean singleline
respectively doesn't really help newbies remember which is which or what each of them does. Heck, if uri
hadn't taught me the mnemonic that /s
changes a S
ingle metacharacter (i.e. .
) whilst /m
ultiple metacharacters (i.e. ^
), then I still wouldn't be able to remember which is which myself!
So maybe you'd like to consider changing them to something like:
/m ^ = SOL, $ = EOL
/s . matches \n too
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
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:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||