找到關於 Perl 的157 篇文章

如何在 Perl 的 CGI 中使用 Cookie?

Mohd Mohtashim
更新於 2019年12月2日 08:14:12

2K+ 次瀏覽

HTTP 協議是一種無狀態協議。但是對於商業網站來說,需要在不同的頁面之間維護會話資訊。例如,一個使用者註冊需要跨越多個頁面才能完成交易。但是如何維護使用者在所有網頁上的會話資訊呢?在許多情況下,使用 Cookie 是記住和跟蹤偏好、購買、佣金以及其他改善訪客體驗或網站統計資訊所需的最有效方法。工作原理您的伺服器會以 Cookie 的形式向訪客的瀏覽器傳送一些資料。瀏覽器可能會接受 Cookie。如果接受了,它就會…… 閱讀更多

在 Perl 中使用 POST 方法

Mohd Mohtashim
更新於 2019年12月2日 08:11:48

1K+ 次瀏覽

將資訊傳遞給 CGI 程式的一種更可靠的方法是 POST 方法。此方法打包資訊的方式與 GET 方法完全相同,但它不是在 URL 中的 ? 之後作為文字字串傳送,而是作為 HTTP 頭的一部分發送單獨的訊息。Web 伺服器以標準輸入的形式將此訊息提供給 CGI 指令碼。以下是名為 hello_post.cgi 的 Perl 指令碼,用於處理 Web 瀏覽器提供的輸入。此指令碼將處理 GET 和 POST 方法。#!/usr/bin/perl local ($buffer, @pairs, $pair, $name, $value, %FORM); # ... 閱讀更多

在 Perl 中使用 GET 方法

Mohd Mohtashim
更新於 2019年12月2日 08:09:56

553 次瀏覽

這是一個簡單的 URL,它將使用 GET 方法將兩個值傳遞給 hello_get.cgi 程式。https://tutorialspoint.tw/cgi-bin/hello_get.cgi?first_name=ZARA&last_name=ALI以下是 hello_get.cgi 指令碼,用於處理 Web 瀏覽器提供的輸入。#!/usr/bin/perl local ($buffer, @pairs, $pair, $name, $value, %FORM); # 讀取文字 $ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/; if ($ENV{'REQUEST_METHOD'} eq "GET") {    $buffer = $ENV{'QUERY_STRING'}; } # 將資訊拆分為名稱/值對 @pairs = split(/&/, $buffer); foreach $pair (@pairs) {    ($name, $value) = split(/=/, $pair);    $value =~ tr/+/ /;    $value =~ s/%(..)/pack("C", hex($1))/eg;    $FORM{$name} = $value; } $first_name = $FORM{first_name}; $last_name = $FORM{last_name}; print "Content-type:text/html\r\r"; print ""; print ""; print "Hello - Second CGI ... 閱讀更多

使用 Perl 顯示“檔案下載”對話方塊

Mohd Mohtashim
更新於 2019年12月2日 08:05:20

236 次瀏覽

有時您可能希望提供一個選項,使用者單擊連結後會彈出一個“檔案下載”對話方塊,而不是顯示實際內容。這很容易實現,可以透過使用 Perl 指令碼的 HTTP 頭來實現。此 HTTP 頭將與上一節中提到的頭不同。例如,如果您想使 FileName 檔案可從給定連結下載,則其語法如下:#!/usr/bin/perl # HTTP 頭 print "Content-Type:application/octet-stream; name = \"FileName\"\r"; print "Content-Disposition: attachment; filename = \"FileName\"\r"; # 實際... 閱讀更多

Perl CGI 環境變數

Mohd Mohtashim
更新於 2019年12月2日 08:04:03

2K+ 次瀏覽

所有 Perl CGI 程式都可以訪問以下環境變數。這些變數在編寫任何 Perl CGI 程式時都扮演著重要的角色。序號變數名稱和描述1CONTENT_TYPE內容的資料型別。當客戶端向伺服器傳送附加內容時使用。例如檔案上傳等。2CONTENT_LENGTH查詢資訊的長度。僅對於 POST 請求可用3HTTP_COOKIE以鍵值對的形式返回設定的 Cookie。4HTTP_USER_AGENTUser-Agent 請求頭欄位包含有關發出請求的使用者代理的資訊。它是 Web 瀏覽器的名稱。5PATH_INFOCGI 指令碼的路徑。6QUERY_STRING傳送的 URL 編碼資訊…… 閱讀更多

使用 Perl 編寫的第一個 CGI 程式

Mohd Mohtashim
更新於 2019年12月2日 08:01:54

327 次瀏覽

這是一個簡單的 Perl CGI 程式,位於名為 hello.cgi 的檔案中。此檔案已儲存在 /cgi-bin/ 目錄中,其內容如下。在執行 CGI 程式之前,請確保已使用 chmod 755 hello.cgi UNIX 命令更改檔案的模式。#!/usr/bin/perl print "Content-type:text/html\r\r"; print ''; print ''; print 'Hello Word - First CGI Program'; print ''; print ''; print 'Hello Word! This is my first CGI program'; print ''; print ''; 1;現在,如果您單擊 hello.cgi 連結,則請求將傳送到 Web 伺服器,Web 伺服器會在 /cgi-bin 目錄中搜索 hello.cgi,執行它,並將生成的任何結果…… 閱讀更多

Perl 中有用的 DBI 函式

Mohd Mohtashim
更新於 2019年12月2日 08:00:02

96 次瀏覽

檢查可用驅動程式@ary = DBI->available_drivers; @ary = DBI->available_drivers($quiet);透過搜尋 @INC 中目錄中的 DBD::* 模組來返回所有可用驅動程式的列表。預設情況下,如果某些驅動程式被同一名稱的早期目錄中的其他驅動程式隱藏,則會發出警告。為 $quiet 傳遞真值將抑制警告。檢查已安裝的驅動程式%drivers = DBI->installed_drivers();返回當前程序中“已安裝”(已載入)的所有驅動程式的驅動程式名稱和驅動程式控制代碼對列表。驅動程式名稱不包含“DBD::”字首。檢查資料來源@ary = DBI->data_sources($driver);返回透過命名驅動程式可用的資料來源(資料庫)列表。如果 $driver 是…… 閱讀更多

在 Perl 資料庫操作中使用 NULL 值

Mohd Mohtashim
更新於 2019年12月2日 07:57:00

803 次瀏覽

未定義值或 undef 用於指示 Perl 資料庫操作中的 NULL 值。您可以像使用非 NULL 值一樣插入和更新具有 NULL 值的列。這些示例使用 NULL 值插入和更新 age 列:$sth = $dbh->prepare(qq {    INSERT INTO TEST_TABLE (FIRST_NAME, AGE) VALUES (?, ?) }); $sth->execute("Joe", undef);此處 qq{} 用於返回一個帶引號的字串給 prepare API。但是,在嘗試在 WHERE 子句中使用 NULL 值時,必須小心。考慮:SELECT FIRST_NAME FROM TEST_TABLE WHERE age = ?將 undef (NULL) 繫結到佔位符將…… 閱讀更多

Perl 中的 COMMIT 和 Rollback 操作

Mohd Mohtashim
更新於 2019年12月2日 07:56:02

775 次瀏覽

COMMIT 操作COMMIT 是一個操作,它向資料庫發出最終確認更改的訊號,此操作之後,任何更改都無法恢復到其原始位置。這是一個呼叫 commit API 的簡單示例。$dbh->commit or die $dbh->errstr;ROLLBACK 操作如果您對所有更改都不滿意,或者在任何操作過程中遇到錯誤,您可以使用 rollback API 將這些更改恢復。這是一個呼叫 rollback API 的簡單示例。$dbh->rollback or die $dbh->errstr;開始事務許多資料庫都支援事務。這意味著您可以進行大量修改資料庫的查詢,但是沒有任何…… 閱讀更多

Perl 中的資料庫 DELETE 操作

Mohd Mohtashim
更新於 2019年12月2日 07:54:26

674 次瀏覽

當您需要從資料庫中刪除一些記錄時,需要使用 Perl DELETE 操作。以下是刪除 TEST_TABLE 表中 AGE 等於 30 的所有記錄的步驟。此操作將包含以下步驟:根據所需條件準備 SQL 查詢。這將使用 prepare() API 完成。執行 SQL 查詢以從資料庫中刪除所需記錄。這將使用 execute() API 完成。釋放語句控制代碼。這將使用 finish() API 完成。如果一切順利,則提交此操作;否則,您可以回滾整個事務。$age = 30; my $sth = $dbh->prepare("DELETE FROM TEST_TABLE WHERE AGE = ?"); $sth->execute( $age ) or ... 閱讀更多

廣告
© . All rights reserved.