Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: How do I avoid double substitution when replacing many patterns?

by barbie (Deacon)
on Jan 26, 2007 at 15:55 UTC ( #596737=note: print w/replies, xml ) Need Help??

in reply to How do I avoid double substitution when replacing many patterns?

You might want to take a look at Data::Phrasebook, as this handles things a little better. Using your example the following works:

use Data::Phrasebook; my $pb = Data::Phrasebook->new( file => 'phrases.txt' ); my $str = $pb->fetch( 'baz', {foo => '${bar}', bar => '${foo}'} ); # $str = 'foo is ${bar} and bar is ${foo}'

where phrases.txt use the default parameter substitution and looks like:

baz=foo is :foo and bar is :bar

While there is support for TT style parameter substitution, it doesn't current support a TT embeded templating system. Might be a possibility for the future, but would be a little overkill for this problem ;)

Barbie | Birmingham Perl Mongers user group |

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://596737]
[moritz]: I had an office move too, two floors up
[moritz]: so far I've managed not to get into my old office by accident, but once it was close (already stopped at the wrong floor)

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (11)
As of 2017-10-17 09:03 GMT
Find Nodes?
    Voting Booth?
    My fridge is mostly full of:

    Results (224 votes). Check out past polls.