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/