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

📄 perl 语言-perl 中文教程(第四章).htm

📁 perl的中文教程
💻 HTM
📖 第 1 页 / 共 2 页
字号:
        <TR>
          <TD><A onmouseover="MM_swapImage('Image18','','14a.gif',1)" 
            onmouseout=MM_swapImgRestore() 
            href="http://www.sun126.com/perl5/perl5-14.htm"><IMG 
            src="Perl 语言-Perl 中文教程(第四章).files/14.gif" border=0 
          name=Image18></A></TD></TR>
        <TR>
          <TD><A onmouseover="MM_swapImage('Image19','','y1a.gif',1)" 
            onmouseout=MM_swapImgRestore() 
            href="http://www.sun126.com/perl5/perl5-15.htm"><IMG 
            src="Perl 语言-Perl 中文教程(第四章).files/y1.gif" border=0 
          name=Image19></A></TD></TR>
        <TR>
          <TD><A onmouseover="MM_swapImage('Image20','','y2a.gif',1)" 
            onmouseout=MM_swapImgRestore() 
            href="http://www.sun126.com/perl5/perl5-16.htm"><IMG 
            src="Perl 语言-Perl 中文教程(第四章).files/y2.gif" border=0 
          name=Image20></A></TD></TR>
        <TR>
          <TD><A onmouseover="MM_swapImage('Image21','','y3a.gif',1)" 
            onmouseout=MM_swapImgRestore() 
            href="http://www.sun126.com/perl5/perl5-17.htm"><IMG 
            src="Perl 语言-Perl 中文教程(第四章).files/y3.gif" border=0 
          name=Image21></A></TD></TR></TBODY></TABLE></TD>
    <TD class=myFont vAlign=top width=30><IMG height=1 
      src="Perl 语言-Perl 中文教程(第四章).files/x.gif" width=10> </TD>
    <TD class=myFont vAlign=top>
      <DIV align=center><IMG height=30 
      src="Perl 语言-Perl 中文教程(第四章).files/top.gif" width=180><BR><SPAN 
      class=myFont><SPAN class=myFont><FONT face=宋体>翻译:</FONT></SPAN></SPAN> 
      <SPAN class=myFont><SPAN class=myFont>flamephoenix</SPAN></SPAN> <BR>
      <HR width="100%" SIZE=1>

      <DIV align=left></DIV></DIV>
      <P align=center><B>第四章 列表和数组变量</B></P>
      <P><A href="http://www.sun126.com/perl5/perl5-4.htm#一、列表">一、列表</A><BR><A 
      href="http://www.sun126.com/perl5/perl5-4.htm#二、数组--列表的存贮">二、数组--列表的存贮</A><BR>&nbsp;&nbsp;<A 
      href="http://www.sun126.com/perl5/perl5-4.htm#1、数组的存取">1、数组的存取</A><BR>&nbsp;&nbsp;<A 
      href="http://www.sun126.com/perl5/perl5-4.htm#2、字符串中的方括号和变量替换">2、字符串中的方括号和变量替换</A> 
      <BR>&nbsp;&nbsp;<A 
      href="http://www.sun126.com/perl5/perl5-4.htm#3、列表范围:">3、列表范围</A><BR>&nbsp;&nbsp;<A 
      href="http://www.sun126.com/perl5/perl5-4.htm#4、数组的输出:">4、数组的输出</A><BR>&nbsp;&nbsp;<A 
      href="http://www.sun126.com/perl5/perl5-4.htm#5、列表/数组的长度">5、列表/数组的长度</A><BR>&nbsp;&nbsp;<A 
      href="http://www.sun126.com/perl5/perl5-4.htm#6、子数组">6、子数组</A><BR>&nbsp;&nbsp;<A 
      href="http://www.sun126.com/perl5/perl5-4.htm#7、有关数组的库函数">7、有关数组的库函数</A> 
      <BR><BR><A 
      name=一、列表>一、列表</A><BR>&nbsp;&nbsp;列表是包含在括号里的一序列的值,可以为任何数值,也可为空,如:(1, 5.3 , 
      "hello" , 2),空列表:()。<BR>&nbsp;&nbsp;注:只含有一个数值的列表(如:(43.2) )与该数值本身(即:43.2 
      )是不同的,但它们可以互相转化或赋值。<BR>&nbsp;&nbsp;列表例:<BR>&nbsp;&nbsp;&nbsp;&nbsp;(17, 
      $var, "a string")<BR>&nbsp;&nbsp;&nbsp;&nbsp;(17, 26 &lt;&lt; 
      2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;(17, $var1 + 
      $var2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;($value, "The answer is 
      $value")<BR><BR><A name=二、数组--列表的存贮>二、数组--列表的存贮</A> 
      <BR>&nbsp;&nbsp;列表存贮于数组变量中,与简单变量不同,数组变量以字符"@"打头,如:<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array 
      = (1, 2, 
      3);<BR>&nbsp;&nbsp;注:<BR>&nbsp;(1)数组变量创建时初始值为空列表:()。<BR>&nbsp;(2)因为PERL用@和$来区分数组变量和简单变量,所以同一个名字可以同时用于数组变量和简单变量,如:<BR>&nbsp;&nbsp;&nbsp;&nbsp;$var 
      = 1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;@var = (11, 27.1 , "a 
      string");<BR>&nbsp;&nbsp;但这样很容易混淆,故不推荐。<BR><BR><A name=1、数组的存取>1、数组的存取</A> 
      <BR>&nbsp;&nbsp;.对数组中的值通过下标存取,第一个元素下标为0。试图访问不存在的数组元素,则结果为NULL,但如果给超出数组大小的元素赋值,则数组自动增长,原来没有的元素值为NULL。如:<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array 
      = (1, 2, 3, 4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;$scalar = 
      $array[0];<BR>&nbsp;&nbsp;&nbsp;&nbsp;$array[3] = 5; # now @array is 
      (1,2,3,5)<BR>&nbsp;&nbsp;&nbsp;&nbsp;$scalar = $array[4]; # now $scalar = 
      null;<BR>&nbsp;&nbsp;&nbsp;&nbsp;$array[6] = 17; # now @array is 
      (1,2,3,5,"","",17)<BR>&nbsp;&nbsp;.数组间拷贝<BR>&nbsp;&nbsp;&nbsp;&nbsp;@result 
      = @original; <BR>&nbsp;&nbsp;.用数组给列表赋值<BR>&nbsp;&nbsp;&nbsp;&nbsp;@list1 = 
      (2, 3, 4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;@list2 = (1, @list1, 5); # @list2 = 
      (1, 2, 3, 4, 5)<BR>&nbsp;&nbsp;.数组对简单变量的赋值<BR>&nbsp;&nbsp;&nbsp;&nbsp;(1) 
      @array = (5, 7, 11);<BR>&nbsp;&nbsp;&nbsp;&nbsp;($var1, $var2) = @array; # 
      $var1 = 5, $var2 = 7, 11被忽略<BR>&nbsp;&nbsp;&nbsp;&nbsp;(2) @array = (5, 
      7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;($var1, $var2, $var3) = @array; # $var1 = 
      5, $var2 = 7, $var3 ="" 
      (null)<BR>&nbsp;&nbsp;.从标准输入(STDIN)给变量赋值<BR>&nbsp;&nbsp;&nbsp;&nbsp;$var = 
      &lt;STDIN&gt;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array = &lt;STDIN&gt;; # 
      ^D为结束输入的符号<BR><BR><A name=2、字符串中的方括号和变量替换>2 、字符串中的方括号和变量替换 
      </A><BR>&nbsp;&nbsp;&nbsp;&nbsp;"$var[0]" 
      为数组@var的第一个元素。<BR>&nbsp;&nbsp;&nbsp;&nbsp;"$var\[0]" 将字符"["转义,等价于"$var". 
      "[0]",$var被变量替换,[0]保持不变。<BR>&nbsp;&nbsp;&nbsp;&nbsp;"${var}[0]" 亦等价于"$var" 
      ."[0]"。<BR>&nbsp;&nbsp;&nbsp;&nbsp;"$\{var}"则取消了大括号的变量替换功能,包含文字:${var}.<BR><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;("aaa".."aad") = 
      ("aaa","aab", "aac", "aad")<BR>&nbsp;&nbsp;&nbsp;&nbsp;@day_of_month = 
      ("01".."31")<BR>&nbsp;&nbsp;.可包含变量或表达式<BR>&nbsp;&nbsp;&nbsp;&nbsp;($var1..$var2+5)<BR>&nbsp;&nbsp;.小技巧:<BR>&nbsp;&nbsp;&nbsp;&nbsp;$fred 
      = "Fred";<BR>&nbsp;&nbsp;&nbsp;&nbsp;print (("Hello, " . $fred . "!\n") x 
      2); <BR>&nbsp;&nbsp;其结果为:<BR>&nbsp;&nbsp;&nbsp;&nbsp;Hello, 
      Fred!<BR>&nbsp;&nbsp;&nbsp;&nbsp;Hello, Fred! <BR><BR><A 
      name=4、数组的输出:>4、数组的输出:</A> <BR>(1) @array = (1, 2, 
      3);<BR>&nbsp;&nbsp;&nbsp;&nbsp;print (@array, 
      "\n");<BR>&nbsp;&nbsp;结果为:<BR>&nbsp;&nbsp;&nbsp;&nbsp;123<BR>(2) @array = 
      (1, 2, 3);<BR>&nbsp;&nbsp;&nbsp;&nbsp;print 
      ("@array\n");<BR>&nbsp;&nbsp;结果为:<BR>&nbsp;&nbsp;&nbsp;&nbsp;1 2 
      3<BR><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 ("element $count: 
      $array[$count-1]\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;$count++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><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] = ("string", 46); # @array 
      =("string",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,"",5,5) 
      now<BR>&nbsp;&nbsp;可以用子数组形式来交换元素:<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array[1,2] = 
      @array[2,1];<BR><BR><A name=7、有关数组的库函数>7、有关数组的库函数</A> 
      <BR>(1)sort--按字符顺序排序<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array = ("this", "is", 
      "a","test");<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array2 = sort(@array); # @array2 
      = ("a","is", "test", "this")<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array = (70, 100, 
      8);<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array = sort(@array); # @array = (100, 70, 
      8) now<BR>( 2)reverse--反转数组<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array2 = 
      reverse(@array);<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array2 = reverse sort 
      (@array);<BR>(3)chop--数组去尾<BR>&nbsp;&nbsp;&nbsp;&nbsp;chop的意义是去掉STDIN(键盘)输入字符串时最后一个字符--换行符。而如果它作用到数组上,则将数组中每一个元素都做如此处理。<BR>&nbsp;&nbsp;&nbsp;&nbsp;@list 
      = ("rabbit", "12345","quartz");<BR>&nbsp;&nbsp;&nbsp;&nbsp;chop (@list); # 
      @list = ("rabbi", "1234","quart") now<BR>( 
      4)join/split--连接/拆分<BR>&nbsp;&nbsp;&nbsp;&nbsp;join的第一个参数是连接所用的中间字符,其余则为待连接的字符数组。<BR>&nbsp;&nbsp;&nbsp;&nbsp;$string 
      = join(" ", "this", "is","a", "string"); # 结果为"this is a 
      string"<BR>&nbsp;&nbsp;&nbsp;&nbsp;@list = 
      ("words","and");<BR>&nbsp;&nbsp;&nbsp;&nbsp;$string = join("::", @list, 
      "colons"); #结果为"words::and::colons"<BR>&nbsp;&nbsp;&nbsp;&nbsp;@array = 
      split(/::/,$string); # @array = ("words","and", "colons") 
  now</P></TD></TR></TBODY></TABLE>
<DIV align=center></DIV>
<DIV align=center><BR></DIV>
<DIV align=center><SPAN class=myFont><A 
href="http://www.sun126.com/perl5/perl5-3.htm">上页</A> <A 
href="http://www.sun126.com/perl5/perl5-5.htm">下页</A> <A 
href="http://www.sun126.com/perl5/perl5index.htm">回目录</A> <A 
href="http://www.sun126.com/perl5/perl5-4.htm#a"><FONT face="Arial, 宋体">Go 
Top</FONT></A></SPAN><BR><BR></DIV>
<TABLE height=50 cellSpacing=0 cellPadding=0 width="100%" bgColor=#000000 
border=0>
  <TBODY>
  <TR>
    <TD bgColor=#cccc99 height=4>
      <DIV align=center><IMG height=4 src="" width=4></DIV></TD></TR>
  <TR>
    <TD height=50>
      <DIV align=center><FONT class=myfont size=2><SPAN class=myfont><FONT 
      color=#99cc99><A href="http://www.sun126.com/bbs/ccb/index.cgi"><FONT 
      color=#99cc99>中国CCB论坛</FONT></A>  整理 麻辣 
      2003.7.10</FONT></SPAN></FONT><FONT class=myfont color=#99cc99 
      size=2><SPAN class=myfont><FONT 
      color=#99cc66><BR></FONT></SPAN></FONT><SPAN class=myfont><FONT 
      class=myfont><SPAN class=myfont><FONT face="Arial, Helvetica, sans-serif" 
      color=#99cc99>&copy; 2000 
      http://www.sun126.com</FONT></SPAN></FONT></SPAN></DIV></TD></TR></TBODY></TABLE></BODY></HTML>

⌨️ 快捷键说明

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