語(yǔ)法
map {BLOCK} @list;
map EXPR , @list;
功能
遍歷@list街氢,對(duì)@list中的每個(gè)元素調(diào)用BLOCK或進(jìn)行EXPR測(cè)試摆昧。并返回一個(gè)列表诚卸,列表中的元素是BLOCK的返回值或EXPR測(cè)試的結(jié)果。在標(biāo)題上下文件中返回的是列表中元素的個(gè)數(shù)圣拄。
注:@list中的每個(gè)元素可能會(huì)在結(jié)果列表中產(chǎn)生0個(gè)嘴秸、一個(gè)、或多個(gè)元素庇谆。
例子
一岳掐、 將數(shù)字列表轉(zhuǎn)換為相應(yīng)的字符列表
my @chars = map(chr,@numbers);
二、 對(duì)數(shù)字列表中的每個(gè)元素計(jì)算平方族铆,返回平方值的列表
my @quares = map {$_ * $_ } @numbers;
三岩四、返回滿(mǎn)足條件的數(shù)字的列表
my @numbers = map { $_ > 5 ? $_ : ()} @numbers;
注意
- 在BLOCK中$_ 是列表元素的別名,因?yàn)榭梢孕薷脑斜淼闹性氐闹怠?/li>
- 如果列表中的元素不是變量哥攘,而在BLOCK中修改了$_的值剖煌,將會(huì)產(chǎn)生不可預(yù)料的結(jié)果材鹦。