中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Perl基本語法實例,變量,數組,函數,if, for, while

發布時間:2020-07-17 13:32:05 來源:網絡 閱讀:1146 作者:nxf198609 欄目:開發技術
  1. #!/usr/bin/perl -w  

  2. #########################################################################  

  3. # File Name: test.pl  


  4. #########################################################################  

  5.   

  6. print "hello word \n";  

  7.   

  8. print "---- 變量定義用\$ 符號------\n";  

  9. $a=`echo xxxx`;  

  10. print "$a";  

  11.   

  12. $b='aaaa'.'hhhh';  

  13. $c="bbbb";  

  14. $d="$b"."$c";  

  15. $d.='eeee';  

  16. print "$d\n";  

  17.   

  18. print "d: $d\n";  

  19.   

  20. $bl1 = 1>=0;  

  21. $bl2 = 1>=3;  

  22. print $bl1;  

  23. print $bl2;  

  24.   

  25. print "---- if elsif else 條件判斷語句 ----\n";  

  26. $if1=2;  

  27. if($if1 == 1){  

  28.     print "pass\n";  

  29. }elsif($if1 == 2){  

  30.     print "==2\n";  

  31. }else{  

  32.     print "fail\n";  

  33. }  

  34.   

  35. #chomp($in1 = <STDIN>);  

  36. #print "your input: $in1\n";  

  37.   

  38. #if(defined($in2)){  

  39. #   print "1";  

  40. #}else{  

  41. #   print "2";  

  42. #}  

  43.   

  44. print " ------- \@ 符號來定義數組 ------ \n";  

  45. @array = (1,2,3,"4")x4;  

  46. print "$array[1]\n";  

  47. print "$#array\n";  

  48. print "$array[-1] \n";  

  49.   

  50. $xtest="123"x5;  

  51. print "$xtest\n";  

  52.   

  53.   

  54. print "pop push 針對數組的末尾操作 \n";  

  55. print "pop 取出最后一個,返回數組剩下的, push將一個元素添加到末尾 \n";  

  56. print "shift unshift 為 pop push的反向操作,針對數組頭\n";  

  57.  

  58. @array2 = 5..10;  

  59. print "$#array2  ----  $array2[-1] \n";  

  60. pop @array2;  

  61. print "$#array2  ----  $array2[-1] \n";  

  62. pop(@array2);  

  63. print "$#array2  ----  $array2[-1] \n";  

  64.   

  65. print "---------- array3 ----------\n";  

  66. @array3 = 1..3;  

  67. print "$#array3  ----  $array3[-1] \n";  

  68. push @array3,9;  

  69. print "$#array3  ----  $array3[-1] \n";  

  70. push @array3,10...12;  

  71. print "$#array3  ----  $array3[-1] \n";  

  72.   

  73. print "---------- array4 ----------\n";  

  74. @array4 = 1..3;  

  75. print "@array4  ----  $array4[0] \n";  

  76. shift @array4;  

  77. print "@array4  ----  $array4[0] \n";  

  78. unshift @array4,99;  

  79. print "@array4  ----  $array4[0] \n";  

  80. unshift(@array4,'98');  

  81. print "@array4  ----  $array4[0] \n";  

  82.   

  83. print "---------- array5 ----------\n";  

  84. @array5 = qw(eating rocks is wrong);  

  85. $array5 = "right";  

  86. print "@array5 ... $array5  \n";  

  87. print "this is $array5[3] \n";  

  88. print "this is ${array5}[3]\n";  

  89. print "this is $array5"."[3]\n";  

  90. print "this is $array5\[3] \n";  

  91.   

  92. print "--------- for --------------\n";  

  93. for($i=0; $i<10; $i++){  

  94.     print "for: $i\n";  

  95. }  

  96.   

  97. #實際for和foreach是一樣的  

  98. #中斷循環對比C 的break和continue,Perl分別對應的是 last 和 next  

  99. #Perl中還特有 redo, 調到當前循環的頂端,不進行條件判斷就再次執行本次循環  

  100. #next會進入下一次循環,redo會繼續執行本次循環  

  101. print "--------- foreach ----------\n";  

  102. @rocks = qw(bedrock slate lava);  

  103. print "before rocks: \n @rocks \n";  

  104. foreach $rock (@rocks){  

  105.         #如果有 redo 應該跳到的位置  

  106.     $rock = "\t$rock";  

  107.     $rock .= "\n";  

  108.     print "new rock: $rock \n";  

  109. }  

  110. print "after rocks: \n @rocks \n";  

  111.   

  112. print "--------- reverse 翻轉 ----------\n";  

  113. @reverse1 = reverse 6..9;  

  114. print "@reverse1 \n";  

  115. @reverse2 = reverse @reverse1;  

  116. print "@reverse2\n";  

  117.   

  118. print "--------- sort 排序 -------------\n";  

  119. @sort1 = qw(aaa ccc eee bbb ddd);  

  120. print "@sort1\n";  

  121. @sort1 = sort(@sort1);  

  122. print "@sort1\n";  

  123.   

  124.   

  125. print "--------- context -----------\n";  

  126. print "變量和列表會根據上下文給出不同的值\n";  

  127. print 1+@sort1."\n";  

  128. @rocks = qw(xxx aaa ccc);  

  129. print "I have",@rocks,"rocks!\n";  

  130. #強制轉換為標量  

  131. print "I have", scalar @rocks, "rocks!\n";  

  132.   

  133. print "--------- sub ----------------\n";  

  134. sub subtest1{  

  135.     $temp=$a.$b;  

  136.     $temp;  

  137. }  

  138. $a = "1";  

  139. $b = "2zzzzz";  

  140. $c = &subtest1;  

  141. print "c: $c\n";  

  142.   

  143. sub addfunc{  

  144.     $size = @_;  

  145.     print "param size: $size\n";  

  146.     my($num1, $num2);  

  147.     ($num1, $num2) = @_;  

  148.     $num1 + $num2;  

  149. }  

  150.   

  151. $addresult = &addfunc(100,99);  

  152. print "addresult: $addresult\n";  

  153.   

  154. print "-------- 子程序 == 函數 ----\n";  

  155. print "函數參數放在 \@_數組內,可以用shift循環的切出第一個參數\n";  

  156. print "my() 定義局部變量\n";  

  157. print "子程序的返回值就是最后一部的計算值\n";  

  158.   

  159. sub max{  

  160.     my($maxValue) = shift @_;  

  161.     foreach(@_){  

  162.         if($_>$maxValue){  

  163.             $maxValue = $_;  

  164.         }  

  165.     }  

  166.     $maxValue;  

  167. }  

  168. @numset = (100,600,3000,3001);  

  169. $maxValue = &max(@numset);  

  170. print "maxValue: $maxValue\n";  

  171.   

  172.   

  173. sub which_element_is{     

  174.     if(@_ < 2){  

  175.         return "輸入參數個數不能小于2";  

  176.     }  

  177.   

  178.     my($what, @array) = @_;  

  179.     my $index = 0;  

  180.     foreach(@array){  

  181.         if($what eq $_){  

  182.         #判斷字符串相等不能使用==,只能用eq  

  183.             print "Find this element [$_]: $index\n";  

  184.             return $index;  

  185.         }  

  186.         $index++;  

  187.     }  

  188.     return "can't find this element";      

  189. }  

  190. @names = qw(kevin xiang jie);  

  191. $which_element = &which_element_is("jie", @names);  

  192. print "which_element: $which_element\n";  

  193.   

  194. print "上面的程序都是不嚴謹語法, 開頭添加 use strict 變為嚴謹語法檢測\n";  

  195. print '定義變量時需要用my定義, my $baa = 1;  '."\n";  


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

突泉县| 清流县| 昌宁县| 北川| 克拉玛依市| 盘锦市| 襄汾县| 万盛区| 武宁县| 科尔| 中牟县| 杭州市| 前郭尔| 苍溪县| 顺平县| 青海省| 阿城市| 大渡口区| 城步| 都江堰市| 新化县| 正定县| 炎陵县| 永平县| 贵德县| 商洛市| 四子王旗| 稷山县| 海阳市| 崇仁县| 醴陵市| 界首市| 开鲁县| 鄂托克前旗| 满洲里市| 七台河市| 丹阳市| 额济纳旗| 泽普县| 枣庄市| 佛坪县|