in reply to RE: RE: Something is wrong and I don'tkow what
in thread Something is wrong and I don'tkow what

Something people tend to forget. It's not really a good idea to use:

print <<BLOCK_END;

Why? It's a bareword!

Barewords aren't really defined in the language and can be subject to change. However:

print <<"BLOCK_END"; will always expand variables while:

print <<'BLOCK_END'; will perform no parsing of the text.

Replies are listed 'Best First'.
RE (tilly) 4: Something is wrong and I don'tkow what
by tilly (Archbishop) on Oct 18, 2000 at 15:13 UTC
    In this case it most definitely is not a problem, indeed in the examples of "here-doc" syntax in perldata the first example uses a bare-word.

    While it may confuse people, the following does not confuse Perl:

    print <<print; Just another Perl hacker, print
RE: RE: RE: RE: Something is wrong and I don'tkow what
by turnstep (Parson) on Oct 18, 2000 at 15:59 UTC
    As tilly points out, perl has no problem with it. I tend to guide people towards the quoted version simply for a stylistic reason: not only does it look better (IMO) but it makes it easier to catch mistakes like:
    print << RAGNAROCK Thor Odin RAGNAROCK
RE: RE: RE: RE: Something is wrong and I don'tkow what
by extremely (Priest) on Oct 19, 2000 at 10:26 UTC
    Technically, it isn't a bareword, AFAIK. -w doesn't complain about it, nor does use strict. It isn't a bareword, it's part of an operative phrase. You can even use perlfunc words and symbols there, try out:
    #!/usr/bin/perl -w use strict; print <<print; print me print (my $s = <<s) =~s/\//\/\//s; s\/\/\/\/s s print "$s";

    --
    $you = new YOU;
    honk() if $you->love(perl)