Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Can you assign to pos() in a s/foo/bar/g

by oha (Friar)
on Oct 25, 2007 at 12:14 UTC ( #647151=note: print w/replies, xml ) Need Help??


in reply to Can you assign to pos() in a s/foo/bar/g

possible if:
s/(__|\G)[A-Z]_/$1/g

Oha

Replies are listed 'Best First'.
Re^2: Can you assign to pos() in a s/foo/bar/g
by johngg (Canon) on Oct 25, 2007 at 18:23 UTC
    Ace! That's exactly what I was missing. I had tried \G without success but hadn't thought to put it in an alternation. Adapting your solution to use a look-behind so that I'm not replacing something with itself gives us

    #!/usr/local/bin/perl -l # use strict; use warnings; $_ = q{DFR7234C__A_B_C_Bonzo_Dog_D_B}; print; s{(?:(?<=__)|\G)[A-Z]_}{}g; print;

    which produces the desired

    DFR7234C__A_B_C_Bonzo_Dog_D_B DFR7234C__Bonzo_Dog_D_B

    Your solution doesn't require any messing about with pos() which is a plus, but I am still wondering whether such tinkering is possible.

    Thank you,

    JohnGG

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (3)
As of 2020-10-22 15:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (227 votes). Check out past polls.

    Notices?