Perl 網頁程式設計課程目錄

Perl 表單資料轉換 (Data Translate of Perl Form)

還記得在第五章第三節 (資料處理(二)) 的表單嗎? 我們提到: 所有空白的字元 (space) 會變成 "+" 號.

例如, alex wu 會變成 :

name=alex+wu

這一節會討論如何將串連資料的所有 "+" 號轉換 (translate) 回原本的空白字元.

編寫及在瀏覽器執行以下 Perl 程式 :

#!/usr/bin/perl
print "Content-type: text/html\n\n";
#
#
$name = "alex+wu";
#
#
### Translate of "+" to space #######
#
$name = ~ tr/+/ /;
#
### Print Result #######
#
print "name = $name";

程 式 解 釋 如 下:

第 10 行 : $name = ~tr/+/ /;

轉換 (translate) 的格式是 :

=~tr/尋 找 目 標/轉 換 要 求/

將變數 $name 中所有 "+" 號轉換 (translate) 成空白字元.

就是這麼簡單的一句, 真是越來越喜歡寫 Perl 程式。 ichiban 呢 !

瀏 覽 器 應 出 現 :

name=alex wu

實 例 View Example

既然提到轉換的 fuction, 順便討論轉換的其他強大功能.

假如你只想用細楷字母 (lowercaseletter) 儲存你的資料. 又或者你提防訪客在你網頁的Search Engines 鍵入大小楷字母的 keywords, 影響搜尋結果. 這麼 ,你可以考慮使用轉換的功能.

請參考下面的例子:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
#
#
$family = "We Have Four Members";
#
print "Original String : $family";
print "";
#
### Translate #######
#
$family =~ tr/[A-Z]/[a-z]/;
#
### Print Result #######
#
print "Translated String : $family";

Perl 程式解釋如下:

第 12 行 : $family =~ tr/[A-Z]/[a-z]/;

將所有從 A 至 Z 的大楷英文字母轉換成小楷英文字母.

瀏 覽 器 應 出 現 以 下 的 結 果 :

Original String : We Have Four Members

Translated String : we have four members

實 例 View Example

如果想將所有文字變成大楷, 請參考下面的例子:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
#
#
$family = "We Have Four Members";
#
print "Original String : $family";
print "";
#
### Translate #######
#
$family =~ tr/[a-z]/[A-Z]/;
#
### Print Result #######
#
print "Translated String : $family";

Perl 程式解釋如下:

第 12 行 : $family =~ tr/[a-z]/[A-Z]/;

和先前的例子剛剛相反, 將所有從 a 至 z 的小楷英文字母轉換成大楷英文字母.

瀏覽器應出現以下的結果 :

Original String : We Have Four Members

Translated String : WE HAVE FOUR MEMBERS

實 例 View Example