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);