如果你有一個雙引號字符串,然後它不能包含轉義雙引號(平希望,原因很明顯)。
一些方法來解決它:
1 /轉義雙引號。
print "<tr style='background-color:#CDC9C9;'>
<td><A HREF=\"http://localhost/cgi-bin/AddUser.cgi\">ADD</A></td>
<td></td>
<td><b>UserId</b></td>
<td><input type=\"text\" name=\"UserId\"></td>
<td><b>UserName</b></td>
<td><input type=\"text\" name=\"User_Name\"></td>
<td><input type=\"submit\" name=\"Filter\" value=\"Filter\"> </td>
</tr>";
2 /切換到單引號字符串(因爲您的字符串不包含變量或轉義序列)。
print '<tr style="background-color:#CDC9C9;">
<td><A HREF="http://localhost/cgi-bin/AddUser.cgi">ADD</A></td>
<td></td>
<td><b>UserId</b></td>
<td><input type="text" name="UserId"></td>
<td><b>UserName</b></td>
<td><input type="text" name="User_Name"></td>
<td><input type="submit" name="Filter" value="Filter"> </td>
</tr>';
注:我不得不改變單引號的風格屬性,這裏的雙引號。
3 /使用here-doc。
print <<END_OF_HTML;
<tr style='background-color:#CDC9C9;'>
<td><A HREF="http://localhost/cgi-bin/AddUser.cgi">ADD</A></td>
<td></td>
<td><b>UserId</b></td>
<td><input type="text" name="UserId"></td>
<td><b>UserName</b></td>
<td><input type="text" name="User_Name"></td>
<td><input type="submit" name="Filter" value="Filter"> </td>
</tr>
END_OF_HTML
4 /選擇不同的引用字符。
print qq[<tr style='background-color:#CDC9C9;'>
<td><A HREF="http://localhost/cgi-bin/AddUser.cgi">ADD</A></td>
<td></td>
<td><b>UserId</b></td>
<td><input type="text" name="UserId"></td>
<td><b>UserName</b></td>
<td><input type="text" name="User_Name"></td>
<td><input type="submit" name="Filter" value="Filter"> </td>
</tr>];
但是像你這麼多的問題,真正的解決方案是使用templating system。
它不能很好地抱怨編譯之前或之後的語法錯誤。 :)記得要顯示你得到的錯誤信息。在這裏看到問題是微不足道的,但有時並非如此。 – 2010-09-14 10:39:15
此外,您的大部分痛苦來自將HTML嵌入到您的源代碼中,而不是模板文件中。 – 2010-09-14 10:42:03
模板文件?可以請你幫我知道更多關於thos模板文件..任何網站或任何鏈接,如果我可以通過... – sonya 2010-09-14 10:48:48