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

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to