Gunnar Hjalmarsson wrote:
Trudge wrote:
On Mar 29, 4:05 pm, [EMAIL PROTECTED] (Gunnar Hjalmarsson) wrote:
Trudge wrote:
I'm trying to get a script to interpolate variable values in a
__DATA__ block if possible.
<snip>
It can be done; see the FAQ entry
perldoc -q "expand variables"
<snip>
while (<DATA>) {
chomp;
next if $_ eq "<$data>";
last if $_ eq "</$data>";
s/(\$\$\w+)/$1/eeg;
print "$_\n";
}
Gunnar, this works perfectly, and is what I am trying to achieve. Many
thanks, and a brew on me :)
<snip>
As far as I know, templates require separate files to
work with. To avoid a lot of separate files, I've been using 'here'
documents up until now, all contained in one large script. But I
wondered if I could achieve a similar
effect putting the blocks of text in a __DATA__ block. Now I know it
can be done, so I will be exploring this method.
Not much to explore, really. Did you read the applicable Perl FAQ? Even
if it provides this method, it doesn't exactly recommend it... Besides
full-blown template methods, the FAQ suggests a couple of other methods,
that usually are better, and so is here documents which you say you have
been using.
I've gone through that FAQ and did discover some new things for me. My
goal is to be able to have several variables interpolated in the
__DATA__ block. As Rob suggested, maybe that is not possible with the
method you provided? That is what I will be exploring.
Granted I only gave you a simplistic example to work with, so that may
be why you offered that solution.
I've installed the Inline::Files module as suggested by Chas. and will
be looking at that as well. The Warning about over-writing files made me
wonder though.
Perhaps I'm just as well sticking with my current usage of here-docs.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/