⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 perl4.htm

📁 Perl作为一门重要的工程语言
💻 HTM
📖 第 1 页 / 共 2 页
字号:
            .&quot;[0]&quot;。<br>
            &nbsp;&nbsp;&nbsp;&nbsp;&quot;$\{var}&quot;则取消了大括号的变量替换功能,包含文字:${var}.<br>
            <a name=3、列表范围:>3、列表范围:</a><br>
            &nbsp;&nbsp;&nbsp;&nbsp;(1..10) = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)<br>
            &nbsp;&nbsp;&nbsp;&nbsp;(2, 5..7, 11) = (2, 5, 6, 7, 11)<br>
            &nbsp;&nbsp;&nbsp;&nbsp;(3..3) = (3)<br>
            &nbsp;&nbsp;.用于实数<br>
            &nbsp;&nbsp;&nbsp;&nbsp;(2.1..5.3) = (2.1, 3.1 ,4.1, 5.1)<br>
            &nbsp;&nbsp;&nbsp;&nbsp;(4.5..1.6) = ()<br>
            &nbsp;&nbsp;.用于字符串<br>
            &nbsp;&nbsp;&nbsp;&nbsp;(&quot;aaa&quot;..&quot;aad&quot;) = (&quot;aaa&quot;,&quot;aab&quot;, 
            &quot;aac&quot;, &quot;aad&quot;)<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@day_of_month = (&quot;01&quot;..&quot;31&quot;)<br>
            &nbsp;&nbsp;.可包含变量或表达式<br>
            &nbsp;&nbsp;&nbsp;&nbsp;($var1..$var2+5)<br>
            &nbsp;&nbsp;.小技巧:<br>
            &nbsp;&nbsp;&nbsp;&nbsp;$fred = &quot;Fred&quot;;<br>
            &nbsp;&nbsp;&nbsp;&nbsp;print ((&quot;Hello, &quot; . $fred . &quot;!\n&quot;) 
            x 2);<br>
            &nbsp;&nbsp;其结果为:<br>
            &nbsp;&nbsp;&nbsp;&nbsp;Hello, Fred!<br>
            &nbsp;&nbsp;&nbsp;&nbsp;Hello, Fred!<br>
            <a name=4、数组的输出:>4、数组的输出:</a><br>
            (1) @array = (1, 2, 3);<br>
            &nbsp;&nbsp;&nbsp;&nbsp;print (@array, &quot;\n&quot;);<br>
            &nbsp;&nbsp;结果为:<br>
            &nbsp;&nbsp;&nbsp;&nbsp;123<br>
            (2) @array = (1, 2, 3);<br>
            &nbsp;&nbsp;&nbsp;&nbsp;print (&quot;@array\n&quot;);<br>
            &nbsp;&nbsp;结果为:<br>
            &nbsp;&nbsp;&nbsp;&nbsp;1 2 3<br>
            <a name=5、列表/数组的长度>5、列表/数组的长度</a><br>
            &nbsp;&nbsp;当数组变量出现在预期简单变量出现的地方,则PERL解释器取其长度。<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array = (1, 2, 3);<br>
            &nbsp;&nbsp;&nbsp;&nbsp;$scalar = @array; # $scalar = 3,即@array的长度<br>
            &nbsp;&nbsp;&nbsp;&nbsp;($scalar) = @array; # $scalar = 1,即@array第一个元素的值<br>
            &nbsp;&nbsp;注:以数组的长度为循环次数可如下编程:<br>
            &nbsp;&nbsp;&nbsp;&nbsp;$count = 1;<br>
            &nbsp;&nbsp;&nbsp;&nbsp;while ($count &lt;= @array) {<br>
            &nbsp;&nbsp;&nbsp;&nbsp;print (&quot;element $count: $array[$count-1]\n&quot;);<br>
            &nbsp;&nbsp;&nbsp;&nbsp;$count++;<br>
            &nbsp;&nbsp;&nbsp;&nbsp;}<br>
            <a name=6、子数组>6、子数组</a><br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array = (1, 2, 3, 4, 5);<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@subarray = @array[0,1]; # @subarray = (1, 
            2)<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@subarray2 = @array[1..3]; # @subarray2 = 
            (2,3,4)<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array[0,1] = (&quot;string&quot;, 46); # 
            @array =(&quot;string&quot;,46,3,4,5) now<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array[0..3] = (11, 22, 33, 44); # @array 
            = (11,22,33,44,5) now<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array[1,2,3] = @array[3,2,4]; # @array = 
            (11,44,33,5,5) now<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array[0..2] = @array[3,4]; # @array = (5,5,&quot;&quot;,5,5) 
            now<br>
            &nbsp;&nbsp;可以用子数组形式来交换元素:<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array[1,2] = @array[2,1];<br>
            <a name=7、有关数组的库函数>7、有关数组的库函数</a><br>
            (1)sort--按字符顺序排序<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array = (&quot;this&quot;, &quot;is&quot;, 
            &quot;a&quot;,&quot;test&quot;);<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array2 = sort(@array); # @array2 = (&quot;a&quot;,&quot;is&quot;, 
            &quot;test&quot;, &quot;this&quot;)<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array = (70, 100, 8);<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array = sort(@array); # @array = (100, 70, 
            8) now<br>
            <font color="red">内置的sort函数是以ASCII码顺序为列表排序,事实上,perl提供的sort用途非常广泛,可用任何自定义的方式对数据排序。 
            <br>
            为了加快执行速度,我们用$a、$b这两个全局变量($a、$b原来的值会被存起来,不必担心)进行比较。如果$a小于$b、应返回任何负整数;相等返回0;大干返回正整数。注意、这里所谓的“小于”是依据函数的定义,可能是数值比较,或是看字符串的第二个字符。规则完全没有限制。<br>
            下面的函数会进行数值比较: <br>
            sub by_number { <br>
            if($a<$b) { <br>
            return 1; <br>
            }elsif($a==$b) {<br>
            return 0; <br>
            }elsif($a>$b) { <br>
            return -1; <br>
            }<br>
            }<br>
            试看排序以下列表: <br>
            @somelist=(1,2,4,8,16,32,64,128,256);<br>
            如果用原来的 sort函数排序,会得到按ASCII码顺序当作字符串的排序结果: <br>
            @wronglist = sort @somelist;<br>
            #@wronglist is now (1,128,16,2,256,32,4,64,8)<br>
            这当然不是数字顺序。好吧,我们给sort自定义排序函数,自定义函数的名称必须紧跟sort关键字,像这样: <br>
            @rightlist= sort by_number @somelist;<br>
            @rightlist is now (1,2,4,8,16,32,64,128,256) <br>
            看吧,这样念起来就是“sort by number”,多自然啊:这就为什么建议排序函数用“by_”字样开头的原因。</font> <br>
            ( 2)reverse--反转数组<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array2 = reverse(@array);<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array2 = reverse sort (@array);<br>
            (3)chop--数组去尾 <font color="red">-----&gt;see also chomp</font><br>
            &nbsp;&nbsp;&nbsp;&nbsp;chop的意义是去掉STDIN(键盘)输入字符串时最后一个字符--换行符。而如果它作用到数组上,则将数组中每一个元素都做如此处理。<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@list = (&quot;rabbit&quot;, &quot;12345&quot;,&quot;quartz&quot;);<br>
            &nbsp;&nbsp;&nbsp;&nbsp;chop (@list); # @list = (&quot;rabbi&quot;, 
            &quot;1234&quot;,&quot;quart&quot;) now<br>
            ( 4)join/split--连接/拆分<br>
            &nbsp;&nbsp;&nbsp;&nbsp;join的第一个参数是连接所用的中间字符,其余则为待连接的字符数组。<br>
            &nbsp;&nbsp;&nbsp;&nbsp;$string = join(&quot; &quot;, &quot;this&quot;, 
            &quot;is&quot;,&quot;a&quot;, &quot;string&quot;); # 结果为&quot;this 
            is a string&quot;<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@list = (&quot;words&quot;,&quot;and&quot;);<br>
            &nbsp;&nbsp;&nbsp;&nbsp;$string = join(&quot;::&quot;, @list, &quot;colons&quot;); 
            #结果为&quot;words::and::colons&quot;<br>
            &nbsp;&nbsp;&nbsp;&nbsp;@array = split(/::/,$string); # @array = (&quot;words&quot;,&quot;and&quot;, 
            &quot;colons&quot;) now<br>
            <p></p>
            <p align=center><a href=perl3.htm>上一章</a> <a href=perl5.htm>下一章</a> 
              <a href=index.htm>目录</a></p>
            <br>
            <!-- #EndEditable --></td>
        </tr>
      </table>
    </td></tr></table></body><!-- #EndTemplate --></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -