我在線研究並發現了幾個有趣的Perl模塊/框架,比如HTML:Mason,HTML :: Embperl或者MVC Catalyst框架等,它可以讓我在裏面嵌入Perl HTML,類似於HTML內的PHP代碼。在HTML中嵌入Perl的最簡單的方法
但是,我的Perl項目必須上傳到uni服務器,只有有限的特權和資源提供。
例如,Apache版本1.3.3 & Perl版本5.8.0(低於催化劑的需求)
我用一個腳本來檢查所有已安裝Perl模塊,只有那些名稱中包含單詞「HTML」 :
HTML::HeadParser 2.17
HTML::Entities 1.23
HTML::Filter 2.09
HTML::LinkExtor 1.31
HTML::Parser 3.26
HTML::PullParser 2.06
HTML::TokeParser 2.24
HTML::Tagset 3.03
HTML::Form 0.03
恐怕他們都不能讓我直接將Perl嵌入到html中。
我知道我可以同時使用簡單的print語句「定界符」打印一切html頁面的Perl/CGI裏面,但我認爲這違反了MVC設計模式,並且不太靈活,更復雜的發展,主要是因爲現在業務邏輯與html標記混淆了。
我目前的解決方案是使用jQuery來觸發AJAX請求,以將HTML加載到客戶端的特定標籤中。因此,在這種情況下,Perl僅用於提供服務器端數據訪問,操縱相關數據併爲AJAX請求提供JSON格式的響應。
我不知道有沒有更好的方法來做到這一點?我幾乎無法改變服務器狀態,我不認爲系統管理員會安裝任何其他Perl模塊。
更新的信息:
嵌入的Perl到HTML的主要原因是,我是很新的CGI編程,而且因爲我比較熟悉PHP和jQuery的,我想知道是否有是將Perl直接嵌入到html中的一種正確方式,所以我可以非常快速地完成客戶端部分並專注於服務器端。
說,這樣的事情:
<div id='user_status'>Your last visit was :[% getLastVisitDateTime($userId)%]</div>
請提前我的Perl/CGI和許多感謝的小知識,以幫助承擔。
更新第二: 其次,我安裝我自己的MacBook Pro本模塊的模板工具包網站指令,但遺憾的是我不能由於權限原因,安裝到UNI的服務器:
Warning: You do not have permissions to install into
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
at /usr/lib/perl5/5.8.0/ExtUtils/Install.pm line 84.
mkdir /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-
multi/auto/Template: Permission denied at /usr/lib/perl5/
5.8.0/ExtUtils/Install.pm line 137
make: *** [pure_site_install] Error 255
所以,不幸的是我我現在正在尋找其他方式...
好吧,看來HTML ::梅森不能因爲同樣的原因安裝。因此恐怕我必須找到一個.pm唯一的解決方案,以便我不必在uni服務器的perl環境中安裝任何東西...
如果要全局安裝Perl模塊,則需要root權限 – 2010-09-04 20:14:40