ct38 发表于 2018-8-31 08:34:35

Perl列表和数组用法的总结

  总结一下Perl中列表和数组操作的一些用法
  假设定义一个数组变量@arr, 将列表(str_a, str_b, str_c, str_d)赋值给数组@arr
  


[*]@arr = (str_a, str_b, str_c, str_d);
  

  将数组@arr的元素个数赋值给$var
  


[*]$var = @arr;
  

  打印这个数组@arr,并且数组中的元素以空格分隔开
  


[*]print "@arr\n";
  

  打印数组@arr的第一个和第三个元素和最后一个元素,默认索引从0开始,索引-1表示最后一个元素
  


[*]print "$arr, $arr, $arr[-1]\n";
  

  打印数组@arr的最后一个元素的索引值
  


[*]print "$#arr\n";
  

  pop操作符, 取出数组的最后一个元素并赋值给$var
  


[*]$var = pop @arr;
  

  push操作符,添加一个元素到数组的尾端
  


[*]push @arr, "str_e";
  

  shift操作符,取出数组的第一个元素并赋值给$var
  


[*]$var = shift @arr;
  

  unshift操作符, 添加一个元素到数组的开头位置
  


[*]unshift @arr, "str_f";
  

  splice操作符,
  若指定2个参数,第一个为数组,第二个为索引,则取出该数组的这个索引后的所有元素
  


[*]@brr = splice @arr,2;
  

  若指定3个参数,第3个代表取出元素的个数,例如取出数组索引1的元素和后面的共2个元素
  


[*]@brr = splice @arr,1,2;
  

  若指定4个参数,第4个代表替换前面被取出的元素,例如str_e将替换被取出的2个元素
  


[*]splice @arr,1,2,"str_e";
  

  列表批量赋值,qw表示自动加上引号的列表
  


[*]($var_a, $var_b, $var_c) = qw( apple pear banana );
  

  交换列表中变量的值
  


[*]($var_a, $var_b) = ($var_b, $var_a);
  

  循环打印列表元素,$_代表列表中的默认变量
  


[*]foreach (1..10){
[*]      print "$_\n";
[*]}
  

  reverse操作符,将列表中的元素反向排序并赋值给另一个数组
  


[*]@rra = reverse (1..10);
  

  sort操作符, 将列表中的元素按照ASCII码顺序排序
  


[*]@arr = sort qw( apple pear banana );


页: [1]
查看完整版本: Perl列表和数组用法的总结