Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: One for the regexp fans

by Maqs (Deacon)
on Aug 04, 2000 at 14:42 UTC ( #26163=note: print w/ replies, xml ) Need Help??


in reply to One for the regexp fans

try this:

$str =~ s/(.[^\.]*)(\.?)/(substr("0" x 2 .$1, -2)).$2/ge;


/Maqs.


Comment on Re: One for the regexp fans
Download Code
RE: Re: One for the regexp fans
by Odud (Pilgrim) on Aug 04, 2000 at 15:03 UTC
    Is my interpretation correct? The first () matches one or more non-dot characters and the second () matches the trailing . or nothing at the end of the string. Then you build a string that has at least two leading zeros and extract the rightmost 2 characters and tag on the trailing . or nothing. I quite like this solution as well. Both you and davorg have come up with good alternatives, thanks. I should think about using substr more - unfortunately it sits in my mind sharing a location with peek and poke! and so doesn't come out to play much these days.
Re (2) Maqs: One for the regexp fans
by nuance (Hermit) on Aug 04, 2000 at 15:23 UTC
    For the substr part, why not just:
    (substr ("0$1", -2))

    Update: In fact I don't see any reason for the second bracketed expression in the regex. Also I can't see how it expands the first hex number if that's necessary. Is this better? or have I missed something subtle?

    $str =~ s/(\.?[0-9a-eA-E]*)/(substr("0$1", -2))/ge;

    Nuance

      yep. your variant is an enhanced one. I tried only to make a general idea. :)
      /Maqs.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2014-10-02 10:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (52 votes), past polls