for($/)x16
A slick way of getting the newline (vis-à-vis -l print until...)!
Changing the loop to for($_)x16 is informative.
And, since a bare print prints both $_ and $/, I found it rather unobvious which variable holds the strings.
Actually, $/ is the input record
separator, so a bare print does not print it.
What's being printed is just the (localized) $_
inside the for loop.
Of course, a bare print will print $\, aka the output
record separator, often seen in golf,
as in, for example, The golf course looks great, my swing feels good, I like my chances (Part I).
The for($/)x16 loop aliases $/ and,
despite the x16, only the single $/ value
is (repeatedly) changed, as you will discover by printing it
after the loop has terminated.
Replacing "print" with "warn" like so:
s/^|\d+/$&+$'||1/eg,warn("du='$_' ds='$/'\n"),s// /for($/)x16;
warn("at end du='$_' ds='$/'\n");
should clarify.
BTW, this eccentric "for loop aliasing" trick is
often seen in golf; see, for example, Drunk on golf: 99 Bottles of Beer
in the "Bottle Golf Tip No 2" section (search for
Cantor).
Finally, the "for loop aliasing" trick is a specific
example of Eugene van der Pijll's general golfing mantra,
"Can't possibly work, let's try it anyway". :)
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:
- 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
Outside of code tags, you may need to use entities for some characters:
| |
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.
|
|