Time of Update: 2018-12-03
使用Regex處理檔案1. s///,s/abc/fred/ 先匹配abc,如果匹配上,使用fred替換abc;如果沒有匹配上,則什麼都不做2. s///g,全域替換,s/abc/fred/g,將所有abc都替換成fred3. 可以使用其他符號替代/作為分隔字元4. /six同樣適用5. $_ = “I saw Barney with Fred.”; $_ = s/(fred|barney)//U$1/gi; #
Time of Update: 2018-12-03
1. 由於每一個 hash 都有一個私人的迭代器(iterator),因此,使用 each 的迴圈是可以嵌套的,因為不同的 hash有不同的迭代器(iterator).雖然這隻是腳註,但我們也應當告訴你,你可以通過使用 keys 或 values函數,重設迭代器(iterator).如果新列表加入到此 hash 中,或者 each函數迭代到最後一個元素,也會重設迭代器(iterator) 另一方面,如果在迭代時加入新的
Time of Update: 2018-12-03
1. unless語句,if是條件為真時執行,unless是條件為假時執行2. 縮寫語句.&error("Invalid input”) unless &valid($input); $i *= 2 unitl $i > $j; print “” ,($n += 2) while $n <10; &greet($_) foreach @person;3. 裸塊(The Naked Block),這通常是為臨時變數提供範圍.4.
Time of Update: 2018-12-03
perl中的Regex 1. .是萬用字元,可以匹配任意的單字元,分行符號除外,如果要在模式中用到.,則使用/.即可2. *可以匹配前一項0次或任意多次,比如/ab*c/匹配 ac,abc,abbbbbc...3. +可以匹配前一項1次或任意多次,比如/ab+c/,匹配 abc,abbc,abbbbc...4. ?意思是前面一項出現1次或者不出現,比如/ab?c/,匹配abc,或者ac5.
Time of Update: 2018-12-03
Regex的應用1. //只是m//的簡寫,/http://///不易閱讀,可以寫成 m{http://}或者m%http://%2. 正斜線不是元字元,如果它不是分隔字元,則不需在前面使用反斜線 3. /fred/i,表示無視大小寫,可以匹配fred,FRED,Fred,fRed等4. .不能匹配分行符號,但是加上s後,即能匹配所有字元,比如/f.*/s,匹配所有以f開頭的字串5. x允許模式中使用空格或者Tab來方便閱讀理解,也就是說,將忽略模式中的空格和定位字元,比如/
Time of Update: 2018-12-03
1. chdir改變工作目錄...chdir "/etc" or die "cannot chdir to /etc:$!";如果參數為空白,改變到主目錄2. my @all_files = glob "*"; my @bz_file = glob "*.bz2"; 只對目前的目錄下3. my @all_files = <*>; my $dir = "/etc"; my @dir_files = <$dir/* $dir/.*>;4.
Time of Update: 2018-12-03
1. $where = index($big, $small); 字元位置是從 0 開始編號的.如果子串在字串的開頭處找到,則 index 返回 0 .如果一個字元後,則返回 1,依 次類推.如果子串不存在 ,則返回- 1.2. 可以使用可選的第三個參數要求它從後面的某個地方開始查詢,它會告訴 index從什麼位置開始3. rindex 反向尋找,用法同上4. $part = substr($string, $initial_position, $length);
Time of Update: 2018-12-03
perl教程http://www.cbi.pku.edu.cn/chinese/documents/perl/index.htmperl入門http://developer.51cto.com/art/201009/224638.htm學習perl一 helloworld**********************************************簡單介紹:Perl是一種指令碼語言.追求的是簡單, 解決一個一般的問題用它幾行代碼就完成了. 一個稍複雜一點的問題代碼也不會超過一屏!
Time of Update: 2018-12-03
裝完Carbide C/C++,遇到一個問題: ---------------------------perl.exe - Unable To Locate Component---------------------------This application has failed to start because perl58.dll was not found. Re-installing the application may fix this problem. ------------
Time of Update: 2018-12-03
最近開始學習shell+sed+awk,偶然在LinuxSir.Org看到下面這篇網友評論文章,覺得有點意思,就摘抄到此,讓更多需要的人容易看到它!shell+sed+awk三者中功能最弱,沒有偵錯工具,大多數操作必須通過運行其他程式才能執行,所以需要更多時間、記憶體並在進程表中佔有位置。內建的算術運算很有限,數組下標必須是數字等。但它對運行環境要求低,小巧便捷,是學習系統指令碼編程的基礎。Perl設計之初就是為了方便編寫複雜高效的系統指令碼,它也是應該最為廣泛的指令碼程式設計語言。它在編程方面
Time of Update: 2018-12-03
在perl中反勾號(``),system和exec都用來執行命令,這篇文章將給我們介紹它們各自的使用方法,聯絡,以及區別。一、使用方法1. 反勾號(``)首先,我們有命令輸入操作符,也叫反勾號操作符,因為它看起來象這樣:$info = `finger $user`;一個用反勾號(技術上叫重音號)引起的字串首先進行變數替換,就象一個雙引號引起的字串一樣。得到的結果然後被系統當作一個命令列,而且那個命令的輸出成為偽文本的值。(這是一個類似 Unix shell
Time of Update: 2018-12-03
1、數組拼接函數:splice用於向列表或數組中插入元素或子列表,也可以從數組或列表中刪除元素或子列表,還可以替換數組或列表中的元素或子列表;其原形如下:@RetValue =
Time of Update: 2018-12-03
1、$position = index(string,substring,skipchars); 該函數返回子串substring在字串string中的位置,如果不存在,則返回-1;參數skipchars是選擇性參數,表示尋找之前跳過的字元數,即:從該位置處開始尋找;2、rindex(string,substring,skipchars):功能與index()類似,不同的是它從string的右端開始尋找;3、$Len = length(string):求字串的長度;4 、
Time of Update: 2018-12-03
一、雜湊變數雜湊變數又稱關聯陣列;與普通的數組一樣,也可以使用下標來訪問其中的資料元素;不同的是,雜湊變數的下標不僅僅可以是非負整數,而且也可以是其它類型的簡單變數或變數值,也就是說,雜湊變數的下標索引可以是任意類型的簡單變數或變數值,稱為關鍵字;雜湊變數以字元“%”開頭;每個關鍵字都與一個值對應;雜湊變數的建立有兩種方式:使用數組的建立方式和通過關聯運算子“=>”的方式;%Hash = (Key1,Value1,Key2,Value2,Key3,Value3,Key4,Value4,
Time of Update: 2018-12-03
1、數字運算子:+(加) 、-(減)、 *(乘) 、/(除)、**(乘方/乘冪)、%(取餘); 這些運算子混合了整數、浮點數和實數運算,運算的結果都寸入了正確的數字上下文中; 複合賦值運算子: +=、-=、*=、/=、**=、%=、.=、&=、|=、^=、<<=、>>=、&&=、||=; 自增/自減運算子: ++/-- ++運算子除了可用於數字運算之外,還可以用於字串運算,而--運算子則只能用於數字運算中; 如:
Time of Update: 2018-12-03
1、數組的長度: 如果把陣列變數賦值給標量變數,那麼賦給標量變數的就是數組的長度: $a = @Array;#標量變數$a中存放的是數組@Array的長度,即:數組中元素的個數; ($a,$b,$c) = (1,2,3); #則把1賦值給$a,把2賦值給$b,把3賦值給$c;
Time of Update: 2018-12-03
範圍(Scope)就是變數的有效範圍、可見範圍,變數只有在範圍中才會有效;Perl中,資料的範圍分為全域範圍、詞法範圍和動態範圍;Pe rl5中,可以使用關鍵字my和local來聲明變數以及限定變數的範圍;1、詞法域:Lexical使用my關鍵字聲明的變數稱為詞法變數,詞法變數的範圍就是詞法域;詞法變數是只限於所在範圍的局部變數;產生的詞法變數不在包的符號表內,只能在自身所在的塊中存在和訪問;使用my關鍵字聲明詞法變數的文法為:my (@Array);或my
Time of Update: 2018-12-03
一、引用的概念:Perl中提供了一種類似於C/C++語言中的指標功能的資料類型,名叫引用;這個引用與C++中的引用的概念不一樣,但是效果一樣;Perl中的引用就是指標,它用於跟蹤變數在記憶體中的地址,可以跟蹤簡單的標量變數、陣列變數、雜湊變數、檔案控制代碼變數,甚至還可以跟蹤子程式;引用存放的是某個變數在記憶體中的地址,這對於跟蹤大型的資料對象是很有用的;引用也是一種資料類型,這種類型的變數叫做引用變數,引用變數中存放的是記憶體位址,而不論被引用的資料對象是何種類型的資料對象,不論被引用的資料對
Time of Update: 2018-12-03
一、子程式的概念:子程式就是函數,是一段執行特殊任務的分離的代碼,使用子程式可以提高代碼的複用度;從使用的角度來分,可以把子程式分為四種:系統函數、使用者子定義函數、有參函數、無參函數;Perl的子程式可以出現在程式中的任何地方;子程式的聲明使用關鍵字sub來做;聲明無參函數和有參函數的文法如下:sub 子程式名;sub 子程式名(參數列表);只有聲明而沒有定義的子程式可以用於列表;定義子程式就是在子程式的聲明後面加上一段代碼塊;無參函數和有參函數的定義如下:sub 子程式名{
Time of Update: 2018-12-03
一、參數中的數組和雜湊變數:在定義參數列表的時候,有兩種方法可以定義數組或雜湊變數為輸入參數:1、在數組或雜湊變數形參類型名前面加上反斜線“/”;2、把數組或雜湊變數形參類型名放在參數列表中最後面的位置上;作為參數傳遞的數組或雜湊變數都將會被複製到參數列表的標量變數列表中,產生個數不確定的參數列表;實際上標量變數和加反斜線“