精簡扼要的Perl 課程講義(一):純量(Scalar)與陣列 ...

文章推薦指數: 80 %
投票人數:10人

Perl:1980年代誕生,直譯式語言。

print "Hello World!\n"; # 雙引號可內嵌特殊字元如: # \n Newline # \r Carriage Return # \t Tab # \f Formfeed ... Blogger舊站 關於 Facebook Flickr 物聯網 網站架設 程式設計 統計 素食 特價優惠 宗教 物聯網 網站架設 程式設計 統計 素食 特價優惠 宗教 精簡扼要的Perl課程講義(一):純量(Scalar)與陣列(Array) 2015/04/23 0則留言 HelloWorld! #!/usr/bin/perl #HelloWorld! #Perl:1980年代誕生,直譯式語言。

print"HelloWorld!\n"; #雙引號可內嵌特殊字元如: #\nNewline #\rCarriageReturn #\tTab #\fFormfeed #\bBackspace #\vVerticalTab #\aBell #\eEscape #\001OctalASCIIvalue(hereCtrl-A) #\x20HexASCIIvalue(herespace) #\cDControlcharacter(hereCtrl-D) #\\Backslash #\"DoubleQuote #\lLowercasenextletter #\LLowercaseallfollowinglettersuntil\E #\uUppercasenextletter #\UUppercaseallfollowinglettersuntil\E #\ETerminate\Lor\U print'HelloWorld!\n';#單引號則只能內嵌\\\' #註一:在Perl中,函式可不用括號,以下兩行相等: #print"HelloWorld!\n"; #print("HelloWorld!\n"); # #註二:在Perl中,"abc"為三個字元,在C下, #"abc"為三個字元加上一Null字元。

#Perl單行註解為'#'開頭 #多行註解為 =pod 此為註解 =cut 純量(Scalar) #純量(scalar) #(1)純量:以$開頭之變數,可儲存整數、浮點數、字串等 $val1=1;#1 $val2=0x123;#十六進位數值123 #為了使數字方便辨識,可加入_分隔, #此變數數值為23323930 $val3=23_323_930; $val4=-4.32e3;#科學記號 $str1="AB";#字串"AB" $name="Bill"; print"Hello,$name\n";#雙引號可內嵌變數 print'Hello,$name\n';#單引號不行 #(2)數值與字串間的自動轉換 $a="1";#字串 $b="2";#字串 #Perl會先將$a與$b自動轉為數值再相加,傳回數值 $c=$a+$b; $d="12abc34"; #Perl會略過$d內非數字起頭到結尾的部份, #即$d被轉換為數值12,再經計算$e為24 $e=$d*2; $f="abc"; #若完全不是數字的字串,會被轉換成零, #因此結果$f被轉換為零,再經計算$g亦為0 $g=$f*2; $a=1;#數值 #Perl會將$a轉為字串,做字串相加,$b為"string1" $b="string".$a; #註:'.'為字串相加運算子 #(3)在字串內安插變數 $val=12; $str1="Ihave$valdollars.";#安插變數 $str2='Ihave'.$val.'dollars.';#字串相加 $str3="def"; #Perl有時容易誤判變數名稱 $str4="abc$str3ghijk"; #加入{}之後,可讓Perl正確判斷安插變數名稱 $str5="abc${str3}ghijk"; #(4)特殊變數$_ $_="Bill"; print;#若省略參數,預設為$_,即print$_; #(5)chomp,chop刪除最後一個(換行)字元 $str1="helloworld.\n"; chomp($str1);#刪除最後一個換行字元,變成"helloworld." chomp($str1);#無效果 chop($str1);#刪除最後一個字元,變成"helloworld" chop($str1);#刪除最後一個字元,變成"helloworl" 陣列(Array) #陣列(array) #(1)陣列:'@'開頭,一連串的純量 @empty=();#空陣列 #一陣列內含兩元素"Bill""Mary" @arr1=("Bill","Mary"); #@arr2=("Bill","Mary","John") @arr2=(@arr1,"John"); #@arr3=("John","Mary","Bill") @arr3=reverse@arr2; #按照ASCII碼排序,@arr4=("Bill","John","Mary") @arr4=sort@arr2; print$arr1[1];#"Mary" print$#arr2;#@arr2最後一個元素的index即2 print$arr2[$#arr2];#@arr2最後一個元素 print$arr2[-2];#@arr2倒數第二個元素 @arr4=("a","b","c","d","e","f"); @arr5=@arr4[2..4];#取出@arr4第三到第五個元素 ($a,$b)=($b,$a);#交換$a與$b #(2)純量與陣列語境 @array=("a","b","c");#陣列 $scalar1=@array;#Perl會傳回@array的長度 $scalar2=sort@array;#Perl會傳回undef $scalar3=reverse@array;#Perl會傳回"cba" $scalar4="@array";#Perl會傳回"abc" $scalar="a";#純量 ($scalar);#陣列,元素個數為一 #(3)pop,push,shift,unshift陣列處理 @arr=(0,1); push(@arr,2);#push後,@arr=(0,1,2) $a=pop(@arr);#pop後,@arr=(0,1),$a=2 @arr=(0,1); unshift(@arr,2);#unshift後,@arr=(2,0,1) $a=shift(@arr);#shift後,@arr=(0,1),$a=2 #(4)split,join $str="It'smylife." #以空白做分隔,將$str切成陣列,存入@arr @arr=split//,$str; #以"-"作分隔,將@arr連接成一個純量變數 $str2=join"-",@arr; 繼續閱讀:Perl程式設計教學 Perl G.T.Wang 個人使用Linux經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

LeaveaReply取消回覆 留言* Name* Email* Website 搜尋 分類Arduino(5) BeagleBoneBlack(1) DIY(54) Linux(317) macOS(33) Octave(15) Perl(12) R(47) Windows(98) WordPress(16) 個人(15) 免費(35) 兒童(30) 實用工具(85) 手機(13) 技巧(45) 有趣(99) 樹莓派(57) 物聯網(55) 玄學(11) 生活(209) 程式設計(137) 統計學(8) 網頁空間(36) 網頁開發(128) 虛擬化(7) 農業(42) 遊戲(9) 開箱(132) 雲端(4) 宗教 如何戒邪淫、遠離婚外情 戒淫寶典:《壽康寶鑑》白話有聲書 公益 家扶基金會 igiving公益網 社團法人新竹縣愛心物資集發協會 智邦公益網 台灣世界展望會 ©2022G.T.Wang



請為這篇文章評分?