Re: Interpolate variable in a __DATA__ block
- From: rob.dixon@xxxxxxx (Rob Dixon)
- Date: Sun, 30 Mar 2008 02:40:27 +0100
Gunnar Hjalmarsson wrote:
Trudge wrote:
I'm trying to get a script to interpolate variable values in a
__DATA__ block if possible. This is a kind of alternative to a full-
blown template method. I'm not sure if I can even do what I want,
hence my posting here.
It can be done; see the FAQ entry
perldoc -q "expand variables"
<snip>
while (<DATA>)
{
chomp;
if ($_ eq "<$data>")
{
next;
print "$_\n";
}
if ($_ eq "</$data>")
{
last;
}
print "$_\n";
}
Try to replace that with:
while (<DATA>) {
chomp;
next if $_ eq "<$data>";
last if $_ eq "</$data>";
s/(\$\$\w+)/$1/eeg;
print "$_\n";
}
Of course it can be done explicitly, but I assume the OP was asking if
it could be done implicitly, as if it were in double quotes. All you've
done here is write a Perl compiler for the specific case of embedded
scalar references; if you can write something to 'interpolate variable
values in a __DATA__block' in general then I'll be impressed.
Rob
.
- Follow-Ups:
- Re: Interpolate variable in a __DATA__ block
- From: Gunnar Hjalmarsson
- Re: Interpolate variable in a __DATA__ block
- References:
- Interpolate variable in a __DATA__ block
- From: Trudge
- Re: Interpolate variable in a __DATA__ block
- From: Gunnar Hjalmarsson
- Interpolate variable in a __DATA__ block
- Prev by Date: Re: Interpolate variable in a __DATA__ block
- Next by Date: Re: Interpolate variable in a __DATA__ block
- Previous by thread: Re: Interpolate variable in a __DATA__ block
- Next by thread: Re: Interpolate variable in a __DATA__ block
- Index(es):
Relevant Pages
|