Hi, Apologies if I'm bringing up a repeated topic. I searched the list
archive and the web and nothing specific has turned up so far.
Is there a way to defer evaluation of the contents of a here-doc-defined
value such that one can embed variables in the here-doc and not have them
evaluated until they are used later? Something like this:
code:
-----
use strict;
use warnings;
my $header = <<'end_of_header';
# File: $filename
end_of_header
my $filename = 'xyz';
print $header, "\n"; # output: want to see # File: xyz, but get # File:
$filename
I tried a few variations and nothing seems to work, as shown below. (This
RFC http://dev.perl.org/perl6/rfc/229.html from Perl 6 implies that there
is fact no way to do this.) Can anyone clarify. Thank you.
code:
-----
use strict;
use warnings;
my $header = <<'end_of_header';
# File: $filename
end_of_header
my $filename = "test";
print $header, "\n";
print eval { "$header" }, "\n";
print "$header", "\n";
print eval { $header }, "\n";
print ((eval $header) ."\n");
output [ .. editted for readability .. ]:
-------
# File: $filename
# File: $filename
# File: $filename
# File: $filename
Use of uninitialized value in concatenation (.) or string at
..\perlt\testevalsimple.pl line 15.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>