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

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]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2016-10-22 23:57 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (299 votes). Check out past polls.