in reply to matching lines in a long string
Hello Cristoforo,
Within the look-ahead assertion (?=$), the metacharacter $ means:
Match the end of the string (or before newline at the end of the string; or before any newline if /m is used) (from “Metacharacters” in perlre#The-Basics)
Since it comes after the newline within the regex pattern — and your string contains no consecutive newlines — it can match only at the very end of the string. This explains the behaviour you’re seeing.
If you remove the look-ahead:
for my $line (split/(?m)\n/, $s) {
the output is displayed line-by-line, as expected.
Hope that helps,
Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: matching lines in a long string
by AnomalousMonk (Archbishop) on May 30, 2020 at 14:52 UTC |