在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 如果按照正...