obeckham 发表于 2018-8-30 10:26:07

Perl入门(三)Perl的数组

  Perl数组的声明方式Perl%E4%BD%BF%E7%94%A8">br/>Perl使用"@"符号声明一个数组:@array;
使用"()"或"qw()"声明数组中元素;
  一个完整的声明方式为:
  @array = (12,"123","abc",$var);......方法一
  或者
  @array = qw(12 123 abc); ............方法二
  或者
  @array = (1..10).....................方法三Perl%E6%95%B0%E7%BB%84%E7%9A%84%E5%AD%98%E5%8F%96
  %E6%95%B0%E7%BB%84%E9%80%9A%E8%BF%87%E4%B8%8B%E6%A0%87%E8%BF%9B%E8%A1%8C%E5%AD%98%E5%8F%96%EF%BC%8C%E6%95%B0%E7%BB%84%E7%9A%84%E4%B8%8B%E6%A0%87%E4%BB%8E0%E5%BC%80%E5%A7%8B,%E5%8D%95%E4%B8%AA%E5%85%83%E7%B4%A0%E5%AD%98%E5%8F%96%E6%8E%A8%E8%8D%90%E4%BD%BF%E7%94%A8%24,%E5%A4%9A%E4%B8%AA%E5%85%83%E7%B4%A0%E5%AD%98%E5%8F%96%E6%8E%A8%E8%8D%90%E4%BD%BF%E7%94%A8@%E3%80%82br/>@array表示数组的第二个元素到第四个元素:2,3,4
@array表示数组的第二,第三和第五个元素:2,3,5;顺序也可以交换:@array: 5 2 3;
  修改数组
  通过上述取数组元素的方法,取得元素,然后进行重新赋值。
  $array= -1;# $array=(-1,2,3,4,5,6,7)
  @array=(8,9); # $array=(1,8,9,4,5,6,7)
  Perl数组的初始化方法
  ()初始化
  如【方法一】所示,将元素放入括号内以","为分隔符
  qw()初始化
  如【方法二】所示,将元素放入qw()的括号内,元素之间以【空格】分隔,字符串类型不需要使用引号。
  缺点:它将括号内内容视为一整个字符串,然后根据空格进行分割,但是如果你希望某一个元素中也包含个空格,就没有办法实现.
  ..初始化
  如【方法三】所示,".."表示一个范围,(1..5)等价于(1,2,3,4,5),(a..z)表示字母a-z的集合
  Perl数组的基本属性
  $#array 表示数组的最后一个元素的下标,数组长度-1
  @array 表示数组长度,直接进行print会输出数组内容
  Perl数组的遍历
  方法一:使用循环数组下标进行遍历(较简单,自己动手尝试)
  方法二:使用foreach循环进行遍历
   view plain copy
  #!user/bin/env perl -w
  @array = qw(1 2 3 4 5 6);
  $var = 100;
  foreach $var (@array)
  {
  print "$var\n";
  }
  print "var is : $var\n";
  输出结果
   view plain copy
  1
  2
  3
  4
  5
  6
  var is : 100
  上述输出结果中:
  foreach如何进行遍历
  应该有注意到$var,var在循环中,担任一个局部变量的角色,循环完成后var的值还是原来的100,可以理解为:这个过程中有两个$var,一个是循环外面的,另外一个是foreach的局部变量.
  数组相关的函数
  sort:按照字符在ASCII码表中的顺序逐位向下进行排序
  reverse:将数组进行倒序

页: [1]
查看完整版本: Perl入门(三)Perl的数组