Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: creating qr from existing regex

by Perlbotics (Chancellor)
on Feb 08, 2018 at 18:13 UTC ( #1208735=note: print w/replies, xml ) Need Help??

in reply to creating qr from existing regex

This is indeed a string that contains a qr expression:

{"name" => 'qr/.*uba$/i'}

Does removing the quotes solve your problem?

{"name" => qr/.*uba$/i}

When you perform string manipulations to form your qr-expression, you might find quotemeta useful.

Replies are listed 'Best First'.
Re^2: creating qr from existing regex
by Bobert1234 (Novice) on Feb 08, 2018 at 18:26 UTC
    i figured it out. The issue was that when i created the $re variable, it was adding the slashes. by using just what was inside the slashes of the original string, i managed to get it to work
    if(index($_[0],"qr/") >= 0){ $_[0] =~s/qr[\/](.*?)([^\\])[\/](i?)$/$1$2/s; print $fh Dumper($_[0]); if($3=='i'){ $_[0] = qr/$_[0]/i; }else{ $_[0] = qr/$_[0]/; } print $fh Dumper($_[0]); }

      Maybe use split

      my $string = '/.*uba$/i'; my @f = split '/',$string; my $qr = ($f[-1] eq 'i') ? qr/$f[1]/i : qr/$f[1]/; my $cursor = $collection->query( { name=> $qr });

        that could work in general, but the input is dynamic, and someone might put in an escaped slash, i.e. \/

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1208735]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2018-03-23 03:55 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (287 votes). Check out past polls.