davehorsfall has asked for the wisdom of the Perl Monks concerning the following question:
MacBook 10.6.8, Perl 5.16.3
Dear munificent providers of wisdom and knowledge,
Consider a string "1 2 3*2 4 5x3". I'd like to turn this into "1 2 3 3 4 5 5 5" (but at a later date I might change my mind and turn "3*2" into "6" etc, but we'll leave that for the nonce).
What would be uber-cool is something like:
s/(\d+)[xX*](\d+)/\1 x \2/g
(possibly with a trailing "x" modifier to prettify it) where of course the last "x" is whatever is needed to get the repetition operator. The background is that I'm writing a simple stats analysis script, and I'd like to generate test data for it by hand.
As an aside, I've learned that geometric means and harmonic means aren't too happy about zero etc (yes, I know that solutions exist)...
Breathes there such a beast? I'm guessing that it will involve some imaginative use of eval() etc (which will also allow me to use expressions) but it won't quite click.
Ta muchly.
-- Dave
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Search and replace with expansion
by McA (Priest) on Aug 07, 2014 at 11:52 UTC | |
by Athanasius (Archbishop) on Aug 07, 2014 at 12:21 UTC | |
by McA (Priest) on Aug 07, 2014 at 12:40 UTC | |
|
Re: Search and replace with expansion
by Anonymous Monk on Aug 07, 2014 at 12:45 UTC | |
by McA (Priest) on Aug 07, 2014 at 13:13 UTC | |
|
Re: Search and replace with expansion
by AnomalousMonk (Archbishop) on Aug 07, 2014 at 13:30 UTC | |
|
Re: Search and replace with expansion
by davehorsfall (Novice) on Aug 08, 2014 at 06:54 UTC |