Re: $/ not always set after a regex match?

[email protected] (yary)
Newsgroups perl.perl6.users
Message-ID <CAG2CFAYCj_KixPNnJHD10u75K-Y_u2R1P0imbTSVBcsKm2dUsw@mail.gmail.com>
I like statement modifiers, though not so much using side-effect variables
set by a postfix modifier, I'd like to see the side effect before seeing
the variable it sets. Something like

/ .+ <?before ly> / && put "The root of $_ is $/.";

though the discussion is about not setting $/ in the caller's context and
I'm not sure how to rewrite it with the matching operation first and
passing the match result to a named variable and also skipping if no match,
all in a single statement.

-y


On Sat, Dec 31, 2022 at 8:10 PM William Michels via perl6-users <
[email protected]> wrote:

> RESENDING: The code examples below should read `<?before ...>` in all
> cases, not `<before ...>`, although either works (erroneously?).
>
> -------------------
>
> Interested in answering the question:
>
> WHICH CODE EXAMPLE IS THE PRETTIEST?
>
> Vote for your favorite (or post your own):
>
> [#] > #REPL (line numbers altered to differentiate)
> Nil
> [0] > $_ = 'gracefully'
> gracefully
> [1a] > put "The root of $_ is $/." if / .+ <?before ly> /;
> The root of gracefully is graceful.
> [1b] > put "The root of $_ is $<>." if / .+ <?before ly> /;
> The root of gracefully is graceful.
> [1c] > print "The root of $_ is " andthen put $/ ~ '.' if / .+ <?before
> ly> /;
> The root of gracefully is graceful.
> [1d] > print "The root of $_ is " andthen put $<> ~ '.' if / .+ <?before
> ly> /;
> The root of gracefully is graceful.
> [1] >
> [2a] > put "Or is the root of $_ $/?" if / .+ <?before full> /;
> Or is the root of gracefully grace?
> [2b] > put "Or is the root of $_ $<>?" if / .+ <?before full> /;
> Or is the root of gracefully grace?
> [2c] > print "Or is the root of $_ " andthen put $/ ~ '?' if / .+ <?before
> full> /;
> Or is the root of gracefully grace?
> [2d] > print "Or is the root of $_ " andthen put $<> ~ '?' if / .+
> <?before full> /;
> Or is the root of gracefully grace?
> [#] >
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.