Regex might not be the best way. And don't make mistakes on using loops or not. When you use the
s///g operator (i.e. with the
g modifier), you are in effect doing an implicit loop, even if it does not appear to be the case. Just as when you are using the
grep or the
map function, it may look as you are not looping on the source list or array, but you are just doing an implicit loop in that case (and the explicit loop of a for/foreach solution might often be actually slightly quicker).
All this to introduce the fact that I will propose a rather concise solution with an explicit loop in the following Perl one-liner:
$ perl -le 'my $s = "ABCDEF"; print substr $s, $_, 3 for 0..length($s)
+-3;'
ABC
BCD
CDE
DEF
I did not check, but it is likely to be faster that any regex on large data input. Check it and tell your teacher about your findings on the various solutions, you might get an A+.
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.