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

Re: One for the regexp fans

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

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to One for the regexp fans

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


/Maqs.

Replies are listed 'Best First'.
RE: Re: One for the regexp fans
by Odud (Pilgrim) on Aug 04, 2000 at 11: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 11: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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://26163]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.