Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Feature Idea: qr//e

by Haarg (Priest)
on Jan 19, 2017 at 06:36 UTC ( [id://1179893]=note: print w/replies, xml ) Need Help??


in reply to Feature Idea: qr//e (updated with solutions)

my ($regex) = map qr/$_/, join '|', map {quotemeta} qw/. | %/;

Replies are listed 'Best First'.
Re^2: Feature Idea: qr//e
by LanX (Saint) on Jan 19, 2017 at 08:02 UTC
        my $regex = qr/$_/ for join '|', map quotemeta, qw/. | %/;

    (untested from mobile)

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!

      Hi LanX,

      Good thought, unfortunately that suffers from scoping issues (Update: see my reply later in this thread):

      $ perl -wMstrict -e 'my $x = $_ for "a"; print $x' Use of uninitialized value $x in print at -e line 1.

      Regards,
      -- Hauke D

        Well as I said, I couldn't test while posting from mobile.

        I though that post-fix-for doesn't have an own scope, analogous to post-fix-if

        So I ran a test and it turned out that post-fix-for is neither fish nor flesh, it's pretending and denying having an own scope ... ugh ...oO

        please notice how the redeclaration of $x is reported but the value gets lost.

        Looks like a bug...

        use strict; use warnings; my $y=666 if 1; warn $y; my $x=1; my $x=42 for 1; warn $x;

        "my" variable $x masks earlier declaration in same scope at c:/tmp/pm/ +scope_postfix_for.pl line 12. 666 at c:/tmp/pm/scope_postfix_for.pl line 7. Use of uninitialized value $x in warn at c:/tmp/pm/scope_postfix_for.p +l line 16. Warning: something's wrong at c:/tmp/pm/scope_postfix_for.pl line 16.

        Cheers Rolf
        (addicted to the Perl Programming Language and ☆☆☆☆ :)
        Je suis Charlie!

Re^2: Feature Idea: qr//e
by haukex (Archbishop) on Jan 19, 2017 at 11:54 UTC

    Hi Haarg,

    my ($regex) = map qr/$_/, join '|', map {quotemeta} qw/. | %/;

    Excellent idea, thank you! I've updated the root node.

    Thanks,
    -- Hauke D

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1179893]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (9)
As of 2024-04-18 16:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found