Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^3: Recursive substitution

by ikegami (Pope)
on Nov 10, 2009 at 16:43 UTC ( #806263=note: print w/replies, xml ) Need Help??


in reply to Re^2: Recursive substitution
in thread Recursive substitution

You say want a regex to do something, but all of your examples place a loop outside of a substitution. Regex can't do substitutions. There's some disconnect in your explanation.

we know that recursion can do whatever iteration can;

Yes, a loop can be implemented using recursion. That doesn't mean you need recursion to count from 1 to 10. You need a loop, no matter how it's implemented.

Replies are listed 'Best First'.
Re^4: Recursive substitution
by JadeNB (Chaplain) on Nov 10, 2009 at 17:10 UTC
    You say want a regex to do something, but all of your examples place a loop outside of a substitution. Regex can't do substitutions. There's some disconnect in your explanation.
    Yes, you're right. I am using regex (improperly) to mean regex-with-substitution, i.e., s/// (with whatever non-/e switches and internal decorations you like, but as little /e, (?{}), and (??{}) as possible).
    That doesn't mean you need recursion to count from 1 to 10. You need a loop, no matter how it's implemented.

    I know I don't need recursion. I want recursion.

    I think it's reasonable to say “The problem can't be solved under these stupid restrictions”, or “I don't care to try to solve the problem under these stupid restrictions”, but not “Problems with stupid restrictions are wrong problems”. The drive to minimalism (of axioms) is, I think, at the heart of computer science; it's certainly at the heart of mathematics, and, as I am a mathematician, it's what drives me.

    UPDATE: On re-reading, that was an over-reaction to something that probably wasn't your position at all. Anyway it was more than a bit rude, so I apologise.

      I want recursion.

      Sorry, but you can't execute another s/// without /e, (?{}) or (??{}). Recursion is out.

      As for a solution without recursion, I don't know of any.

        Sorry, but you can't execute another s/// without /e, (?{}) or (??{}).
        Since the regex engine isn't re-entrant, I can't execute another s/// even with /e, (?{}), or (??{}), right?

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2020-01-20 09:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?