Perl 数组

Perl 数组一个是存储标量值的列表变量,变量可以是不同类型。数组变量以 @ 开头。

  • 创建数组

my @information=();
  • 添加或删除数组元素

pop @ARRAY;                        ## 删除数组的最后一个值
push (@information, $reads[0]);     ## 将$reads[0]的值放到数组的末尾
unshift (@information, $reads[0]);  ## 将$reads[0]放在数组前面,并返回新数组的元素个数
  • 访问数组元素

访问数组元素使用 $ + 变量名称 + [索引值] 格式来读取,实例如下:

print "$sites[0]\n";      ## 访问第一个元素
print "$sites[1]\n";
print "$sites[-1]\n";     ## 负数,反向读取
  • 切割数组

我们可以切割一个数组,并返回切割后的新数组:数组索引需要指定有效的索引值,可以是正数后负数,每个索引值使用逗号隔开。如果是连续的索引,可以使用 .. 来表示指定范围:

@sites2 = @sites[3..5];            ## 切割数组第4-6个元素
@sites2 = @sites[3,4,5];
my $sum = sum @reads[2..$#reads];  ## 第3个元素至最后一个元素之和(use List::Util qw/sum/; 调用求和模块)
  • 将字符串转换为数组

Perl 中将字符串转换为数组使用 split() 函数,语法格式如下:

@list = split /\t/, $line;       ## 变量line1中字符串以tab键进行拆分,存入数组list
  • 将数组转换为字符串

Perl 中将数组转换为字符串使用 join() 函数,语法格式如下:

print OUT "name\t", join "\t", @array;
$string = join( '-', @string );
  • 数组排序

Perl 中数组排序使用 sort() 函数,语法格式如下:

@sites = sort(@sites);

你可能感兴趣的:(Perl 数组)