Я пытаюсь отправить HTML-часть в виде фрагментов в HTTP-ответе, используя сценарий perl, но получаю ошибки компиляции.

Ниже приведена часть скрипта, который я использую для отправки HTML-страницы в виде фрагментированного ответа. Однако при запуске скрипта выдает ошибки компиляции, например:

Число найдено там, где ожидался оператор в строке 19 nph-99

#! /usr/bin/perl

print "HTTP/1.1 200 OK\n";
print "Connection: Close\n";
print "Content-type:text/html\n" ;
print "Transfer-Encoding:chunked\n\n" ;
print "96\r\n";
print <<EndText;
<html>
  <!-- this chunk is 150 bytes in length-->
  <head>
         <title>Document Title</title>
  <link REL="StyleSheet" TYPE="text/css" HREF="example.css">
  </head>

<body>
EndText
print "\r\n\";
print "233\r\n";
print <<EndText;
<!-- this chunk is 563 bytes in length-->
<h1 CLASS="funkyclass" ALIGN="center">Welcome to my home page!</h1>
  <br><br>
<p>Hi there! If you are reading this then you have found my home page!  Congratulations! I know it can be hard to find my pages, but I bet that you feel lucky now. Now that you are here, please take a look at my page of links to <a HREF="http://www.mysite.com/coolsites.html">cool sites</a> or sign my <a HREF="http://www.mysite.com/guestbook.html">guest book</a></p>
<div CLASS="foo"> My wonderful poetry <br> is available if you are REALLY bored. Why not give it a spin?</div>
EndText
print "\r\n\";
1_18.pl, рядом с «print «233» (может быть неуправляемая многострочная строка «», начинающаяся в строке 18)

#! /usr/bin/perl

print "HTTP/1.1 200 OK\n";
print "Connection: Close\n";
print "Content-type:text/html\n" ;
print "Transfer-Encoding:chunked\n\n" ;
print "96\r\n";
print <<EndText;
<html>
  <!-- this chunk is 150 bytes in length-->
  <head>
         <title>Document Title</title>
  <link REL="StyleSheet" TYPE="text/css" HREF="example.css">
  </head>

<body>
EndText
print "\r\n\";
print "233\r\n";
print <<EndText;
<!-- this chunk is 563 bytes in length-->
<h1 CLASS="funkyclass" ALIGN="center">Welcome to my home page!</h1>
  <br><br>
<p>Hi there! If you are reading this then you have found my home page!  Congratulations! I know it can be hard to find my pages, but I bet that you feel lucky now. Now that you are here, please take a look at my page of links to <a HREF="http://www.mysite.com/coolsites.html">cool sites</a> or sign my <a HREF="http://www.mysite.com/guestbook.html">guest book</a></p>
<div CLASS="foo"> My wonderful poetry <br> is available if you are REALLY bored. Why not give it a spin?</div>
EndText
print "\r\n\";

person Dcoder    schedule 30.01.2013    source источник


Ответы (1)


В одном из ваших print утверждений есть отрицательная реакция \. Есть еще один, где вы тоже скопировали эту строку ниже. Он экранирует закрывающий ", поэтому все после него интерпретируется как строка.

<body>
EndText
print "\r\n\"; # <--- HERE (and also further down)
print "233\r\n";

Вы пишете свой код с помощью редактора/IDE с подсветкой синтаксиса? Включите его и заставьте торчать струны. Таким образом, он выделит вам все после экранированного " в виде строки, и вы больше не пропустите это.

Кроме того, вы должны use strict и use warnings.

person simbabque    schedule 30.01.2013
comment
это была ошибка новичка :) извините - person Dcoder; 30.01.2013