gmpassos has asked for the wisdom of the Perl Monks concerning the following question:
I was looking for a way to use the here-document (<<DELIMITER;) to set some data section in the class.
But this sections need to be exactly as they where declared, soo, if some variable exists there can't be parsed.
Soo, this data:
prints:$data = <<DATAFOO; bla bla bla $globalvar DATAFOO print "$data\n" ;
But I need that:bla bla bla
bla bla bla $globalvar
Looking at perldoc I found
## From perldiag: =item Use of bare << to mean <<"" is deprecated (D deprecated) You are now encouraged to use the explicitly quoted form if you wish to use an empty line as the terminator of the here-document. ## From perlop Customary Generic Meaning Interpolates '' q{} Literal no "" qq{} Literal yes `` qx{} Command yes* qw{} Word list no // m{} Pattern match yes* qr{} Pattern yes* s{}{} Substitution yes* tr{}{} Transliteration no (but see below) <<EOF here-doc yes* * unless the delimiter is ''.
Soo, testing some codes I saw that is possible to write that:
And the output is:$data = <<'DATAFOO'; bla bla bla $globalvar DATAFOO print "$data\n" ;
bla bla bla $globalvar
OK, I found what I want. But the use of <<'DELIMITER'; is right/maintained? It works, but I never saw that and is not well documented, or I'm the only one that doesn't know that?
Graciliano M. P.
"Creativity is the expression of the liberty".
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: here-document without interpolation
by thelenm (Vicar) on Jan 15, 2004 at 23:38 UTC | |
Re: here-document without interpolation (<<DELIMITER;)
by Roger (Parson) on Jan 15, 2004 at 23:38 UTC | |
Re: here-document without interpolation (<<DELIMITER;)
by Abigail-II (Bishop) on Jan 15, 2004 at 23:42 UTC | |
Re: here-document without interpolation (<<DELIMITER;)
by Coruscate (Sexton) on Jan 16, 2004 at 05:35 UTC |
Back to
Seekers of Perl Wisdom