I just ran into this the other day.  It is easy to forget the different
ways that the << operator can be used.  Basically Perl looks at the way
you quote your termination string (HERE, EOF, etc.).  If you don't quote
it, Perl will assume double-quotes.  Put single quotes around your
termination string to avoid accidental interpolation in your
strings(E.g. <<'HERE' instead of <<HERE).


>From perldoc perlop:

       print <<EOF;
    The price is $Price.
    EOF

       print << "EOF"; # same as above
    The price is $Price.
    EOF

       print << `EOC`; # execute commands
    echo hi there
    echo lo there
    EOC

       print <<"foo", <<"bar"; # you can stack them
    I said foo.
    foo
    I said bar.
    bar




-----Original Message-----
From: Gerald Wheeler [mailto:[EMAIL PROTECTED] 
Sent: Friday, January 13, 2006 8:28 AM
To: beginners@perl.org
Subject: The "@" symbol

trying to include the following code with the abc.pl script...

the snippet works in an html/css environment

print <<EOF;

        <style type="text/css" media="all">
                @import url("theta.css"); 
                @media print {
                body {background: white; color: black; font: 12pt Times,
serif;}
                #noprnt {display: none !important;}
                }
        </style>

EOF

The "@" symbols are misread and thus this cause errors...  escaping the
"@" symbols doesn't work



--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to