perl程式寫作中常會用到 和

2021-06-16 06:39:03 字數 1683 閱讀 7647

在perl程式寫作中常會用到=~和!~這兩個運算子及s和t這二個函式來和文書處理模式/pattern/搭配而成乙個表示式,如果能夠活用這些指令的話,就可以很輕易地來處理一些字串

指令:/pattern/文字運算

說明: 如果在文字運算中沒有使用=~或是!~運算子指定乙個字串來做運算的話,就會使用內定的輸出變數$_來做/pattern/文字運算。

範例一:

$string="chmod711cgi";

$string=~/(\w)\s+(\d+)/;

第乙個(\w+)是********數個字母,並將的找到的字串指派給$1這個變數,而\s+********多個空白的字串,最後(\d+)********個數值,並將所找到的字串指派給$2這個變數。所以$1="chmod";$2=711;但是$string還是等於原來的字串,沒有改變。

範例二:

$_="chmod711cgi";

/(\w)\s+(\d+)/;

因為是把字串指定給$_這個變數,所以可以不用=~這個運算子就會得到

$1="chmod";$2=711;而且$_還是等於原來的字串,沒有改變。

範例三:

$string="chmod711cgi";

@list=split(/s+/,$string);

以上乙個或是多個空白字元來分割$string這個字串,這是乙個很常用的語法。此時@list=("chmod","711","cgi");

指令: =~相配運算子

說明:這是perl語言中特有的語法,通常會和文書處理來作運算。

範例:

print"請輸入乙個字串!\n";

$string=#********輸入,會讓使用者輸入一字串

chop($string); #將$string最後乙個換行的字元\n刪除掉

if($string=~/cgi/)

如果輸入的字串含有cgi這個字串的話,就會顯示出這個資訊。

指令:!~不相配運算子

說明:這也是perl語言中特有的語法,通常會和文書處理模式來運算。

範例:

print"請輸入乙個字串!\n";

$string=#********輸入,會讓使用者輸入一字串

chop($string); #將$string最後乙個換行的字元\n刪除掉

if($string!~/cgi/)

如果輸入的字串中沒有cgi這個字串的話,就會顯示出這個資訊。

指令:tr轉換函式

語法:tr/searchlist/replacelist/

其中searchlist是要轉換的字元;replacelist是轉換成何種字元。

說明:tr(translate)就是轉換的意思,會把符合轉換的字元轉換成要轉換的字元。

範例一:

$string="testing";

$string=~tr/et/et/"; #此時$string="testing";

$string=~tr/a-z/a-z/; #此時$stirng="testing";

範例二:

$string="cgi+perl";

$string=~tr/+//; #此時$string="cgi perl";

在傳送cgi資料的時候會先將資料編碼,其中會將空白的字元轉成+這個字元。

在C 程式中嵌入Perl

perl 庫一般在這樣的資料夾下 usr local lib perl5 your architecture here core 可以這樣得到它的位置 perl mconfig e print config 編譯的時候要這樣 gcc o2 dbool char dhas bool i usr loc...

自動郵件程式 perl

usr bin perl pod author laomeng e mail 18682093512 163.com 運維工作自動化 由於這種工作是一種重複性的操作,在人工產生的報表過程有可能出現 資料的錯或格式不正確通過 難免不認真 所以為減少工作的重複性和避 免生產過程中資料錯誤和格式錯誤而開發...

簡短的perl程式

簡短的perl程式能夠實現大功能。perl是如何做到的呢?1.預設變數 如果沒有向函式提供引數值,則預設引數為 如果沒有變數用於接收乙個表示式的值,則預設接收變數為 perl語言每條語句可像管道那樣執行,通過預設變數 串接起來。2.特殊語法 利用一些正常情況下沒有含義的語法,如while 如果按照正...