while (<>) {
chomp;
print join("\t", (split /:/)[0, 2, 1, 5] ), "\n";
}
(split /:/)[0, 2, 1, 5]
在这里意味着什么?
答案 0 :(得分:9)
这意味着
my @fields = split /:/, $_;
my @fields_to_display = ($fields[0], $fields[2], $fields[1], $fields[5]);
通过将行拆分为:来创建一个列表,然后获取此列表的元素0,2,1,5
答案 1 :(得分:7)
这是list slice。
在split
返回的值中,它按顺序返回第一个(索引0),第三个(索引2),第二个(索引1)和第六个(索引5)。 / p>
老实说,如果您运行该程序,这应该是显而易见的。来吧试试吧!
答案 2 :(得分:4)
它将存储在$_
(see perlvar)中的字符串拆分为给定的正则表达式(在本例中为单个:
)并从中选取元素编号0,2,1和5结果数组。