John W. Krahn wrote:
> Sharan Basappa wrote:
>>Question is how to embed text in a perl program instead of reading it
>>from a file or initializing the text in a string variable.
>>
>>I have done the following but when I execute the script, I get no output.
>>
>>Is there an issue I am overlooking ?
>>
>>Another question is whether perl will replace the variable defined in
>>the embedded text with actual values ?
>>
>>
>>#!/usr/bin/perl
>>my $one = "onex";
>>my $two = "twox";
>>while (<MY_BLOCK>)
>>{
>> print $_;
>>}
>>exit;
>>
>>__MY_BLOCK__
>>once
>>upon
>>there was a person who was
>>very fond of $one and $two
>
> That will work if you change <MY_BLOCK> to <DATA> and change __MY_BLOCK__ to
> either __DATA__ or __END__ or alternatively use the Inline::Files module.
I didn't notice your $one and $two variables in the data. You can do what you
want like this:
#!/usr/bin/perl
use warnings;
use strict;
my $one = 'onex';
my $two = 'twox';
open my $fh, '<', \<<MY_BLOCK or die "Cannot open variable: $!";
once
upon
there was a person who was
very fond of $one and $two
MY_BLOCK
while ( <$fh> ) {
print;
}
__END__
John
--
Perl isn't a toolbox, but a small machine shop where you can special-order
certain sorts of tools at low cost and in short order. -- Larry Wall
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/