2010-10-21 87 views
1

我有一個HTML文件,我如何在HTML代碼中使用Perl腳本(日期/小時)? 我的目標:在HTML中顯示日期/小時 注意:單獨這兩個腳本都可以。如何在HTML頁面中調用Perl腳本?

例如: HTML文件:

<html> 
<body> 
code or foo.pl script 
</body> 
</html> 

Perl腳本(foo.pl):

#!/usr/local/bin/perl 
use CGI qw/:push -nph/; 
$| = 1; 
print multipart_init(-boundary=>'----here we go!'); 
for (0 .. 4) { 
    print multipart_start(-type=>'text/plain'), 
      "The current time is ",scalar(localtime),"\n"; 
    if ($_ < 4) { 
      print multipart_end; 
    } else { 
      print multipart_final; 
    } 
    sleep 1; 
} 

回答

3

Perl是一種服務器端語言,所以必須在服務器上運行。 HTML代碼顯示在瀏覽器中,並由服務器生成。因此,您必須在服務器上運行perl腳本以生成日期/小時,並將其嵌入到您爲瀏覽器提供的HTML代碼中。

Here是如何做到這一點的教程。

1

您可以通過CGI腳本生成整個HTML頁面(根據Chetan的答案) - 或者,您可以使用其中一個模板模塊(EmbPerl,Mason,HTML::Template或其他許多模塊)。

模板解決方案更適合真正的軟件開發,其中HTML和Perl邏輯的分離更重要。例如。對於EmbPerl,您的代碼如下所示:

<html> 
<body> 
[- my $date_hour= my_sub_printing_date_and_hour(); # Logic to generate -] 
[+ $date_hour # print into HTML - could be combined with last statement +] 
</body> 
</html> 
3

聽起來像您想要Ajax。您的HTML頁面使用JavaScript來調用您的Perl程序。您的JavaScript獲取響應並替換您希望數據發送到的頁面部分。或者,您可以完全跳過Perl位,然後在JavaScript中完成所有操作。