【问题标题】:How to include Perl into shtml files如何将 Perl 包含到 shtml 文件中
【发布时间】:2010-06-03 19:34:03
【问题描述】:

您好,我正在尝试在我的 shtml 文件中包含一个 perl 脚本。不幸的是,当我这样做时,我的脚本似乎没有运行,而是只显示脚本的内容。

我使用的代码如下:

test.shtml:

<html>
<title> business home page </title>
<body>
</br>
<!--#echo var="DATE_LOCAL" --> 
<br />
<!--#include virtual="hello.pl"-->
</body>
</html>

你好.pl:

#!C:/Sun/WebServer6.1/bin/https/perl/perl

print "Content-type:text/html\n\n";

print "Hello World!"; 

我不确定我做错了什么。如果你们都想知道我使用的服务器是 Sun One WebServer 6.1 (OS = Windows XP)。感谢您的回复!

【问题讨论】:

  • 您是否出于特定原因尝试“2003 年左右的网络编程”?
  • 这应该在 serverfault.com 上,并且之前已经回答过 - 您需要确保您的服务器已正确设置以处理服务器端包含并执行 CGI。
  • @Chad...不太清楚你的意思。 @Ether我有一种不好的感觉,但是我找不到任何好地方来了解如何为Windows配置它。我尝试按照我所知道的 SUN 提供的文件进行操作。
  • Ether 意味着有很多很好的工具包可以使用 perl 制作不需要服务器端的网页,包括 CatalystMojoliciousDancerTemplate ToolkitMason,甚至是可敬的CGI.pm。 :)

标签: html perl cgi shtml


【解决方案1】:

事实上在 SSI 页面中执行动态内容的标准 SSI 指令是

<!--#exec cgi="hello.pl"-->

这适用于 Apache mod_include 以及至少一些支持 SSI 的其他 Web 服务器。不知道它是否可以在您的平台上运行,但请试一试。

【讨论】:

  • 我已经给出了尝试似乎是在处理此指令时发生错误/
【解决方案2】:

尝试去掉 Perl 程序中的第一个打印语句,它设置内容类型标题。在 HTML 页面的正文中(即 SSI 所在的位置)中,这不是一件有用的事情。

如今,SSI 是一种相当古怪的技术,即使它偶尔有用,所以如果你认真学习 Web 编程,那么这不是你应该花太多时间的领域。

【讨论】:

  • 您好,感谢您的回复。不,我实际上根本没有学习这个。它有点像我正在使用的工具,所以我必须尝试充分利用它们。别无选择。
猜你喜欢
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 2011-08-24
  • 1970-01-01
  • 2014-02-15
  • 2011-02-07
  • 2021-12-22
  • 2011-07-28
相关资源
最近更新 更多