while (<>) { chomp; print join("\t", (split /:/)[0, 2, 1, 5] ), "\n"; }
其中(split /:/)[0, 2, 1, 5]是什么意思,如何理解呢?
(split /:/)[0, 2, 1, 5]
(split /:/)将$_按照:分割。
(split /:/)
$_
:
[0, 2, 1, 5]是列表切割操作,取列表中的第0 2 1 5项作为新的列表。
[0, 2, 1, 5]
0 2 1 5
Perl经普遍以$_作为默认参数,所以上面代码等价于:
my @fields= split /:/ $_; my @fields_to_display= ($fields[0], $fields[2], $fields[1], $fields[5]);
标签
查看
246 次