There are at three options. First, write a regex that scans your text for variables, replacing them with the values. It's much, much easier to use a hash for this:
my $text = "Insert $id here!\n";
my %values = ( id => 10 );
$text =~ s/\$(\w+)\b/$values{$1}/g;
print $text, "\n";
That's untested, but can't be too far off. This is a simple solution that works for simple problems. It's possible to craft a much nicer regex to catch boundary conditions, but it's difficult.
The second option is an awful abuse of eval I like to call Double Interpolation of a String . I wouldn't recommend it, if you can avoid it.
The third option is to use a templating mechanism from the CPAN, like Text::Interpolate or Text::Template. This is by far the most powerful and safe mechanism. If you're going to be doing this often, time invested in learning one of these modules will pay off nicely.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.