本教程將與您一起學習在Unix平台上用Perl創建CGI。和其它教程不同,我們並不假設你了解CGI、Perl或Unix。
學完本教程後,你將能夠建立Perl的計數器、留言板和處理安全口令的程序。同時你也會對Perl語言有所了解,學習使用其變量、if語句和循環。
什麼是CGI?
CGI代表通用網關接口(Common Gateway Interface)。本質上,CGI是運行在服務器上的程序。它可以用任何語言編寫 - 只要能夠在你的服務器上運行。Perl之所以能夠成為CGI編程的首選,是因為它可以適應所有的平台,而且擁有很多對Web來說非常理想的工具。
當我在一個網頁上填充一個form並按'Submit'時,有2件事在服務器上發生:
敲入或選擇的所有信息被拷貝到服務器。
服務器尋找在form頂部確定的程序,然後運行之。
程序做的第一件事通常是請求網頁form中的內容,然後把它賦給變量。然後程序可以查詢數據庫、發送一封電子郵件或加入留言板、或者任何你想做的事。
我們通過例子學習教程。對每個新的主題,我們查看整段代碼,然後分成小片段並進行討論。在你在Unix服務器上使用Perl之前,應該對Unix有一些了解。
Unix環境
你應該會用Telnet登錄到Unix服務器上以便能用Perl創建CGI。
你也應該能把文檔FTP到服務器上。
實際上,Unix是一種最強大和靈活的操作系統。當作為終端使用時,用戶用一種稱為X-Windows的圖形用戶界面。X-Windows因為在互聯網上太慢而無法使用,所以我們將使用命令行方式。
命令行提示
每次在Unix中輸入新的一行,將得到一個命令行提示。通常以機器名然後跟著一個%或#字符的形式出現。這是輸入基本命令來創建、拷貝、移動和刪除文件的地方,還可以做其它事情。
試試這些聯系:
打開你最喜歡的Mac或PC字處理器。對於HTML來說,用一種簡單的能把代碼存成純文本的編輯器。敲入這行:This is a dummy sentenc.
把文件保存為practice.txt。
用FTP程序把這個文件上載到服務器上。注意:應該以ASCII的方式上載你的CGI文件,不能用binary方式。
用TELNET程序訪問你的Web服務器。
用你的用戶名和口令LOGIN。
敲入ls然後按回車鍵(注意:使用小寫,Unix區分大小寫),你的Web服務器中的內容將列在屏幕上,應該能夠看到你的practice.txt。
敲入pwd然後按回車。pwd代表“打印工作目錄(Print Working Directory)”。從服務器的ROOT目錄到你的當前目錄的路徑將顯示出來。例如,我的主目錄是/home/usr/robyoung/htdocs。
敲入mkdir myfolder然後按回車 - 創建一個叫'myfolder'的目錄。
敲入mv practice.txt myfolder/practice.txt然後按回車 - 把practice.txt移動到myfolder中。
敲入cd myfolder然後按回車 - 進入myfolder目錄。
敲入pwd然後按回車 - 路徑名以/myfolder結束。
敲入ls然後按回車 - myfolder中的內容將顯示出來 - 只有practice.txt。
敲入cp practice.txt copy2.txt然後按回車 - 做一個拷貝。
敲入ls然後按回車 - 將列出兩個文件。
敲入rm copy2.txt然後按回車 - 刪除這個文件。
敲入ls然後按回車 - 只剩下practice.txt。