返回列表 回复 发帖

map()函数 [learning Perl]

map函数

    map函数将数组中的每个值映射到表达式或块中,映射的结果返回另一个数组。

格式:
    map EXPR,LIST;
    map {BLOCK}LIST;


#!/usr/bin/perl -w

PART1:
@list = (0x53,0x77,0x65,0x64,0x65,0x6e,012);
@words = map chr, @list;
print @words;

PART2:
@n = (2,4,6,8);
@n = map $_*2 + 6, @n;
print "@n\n";


[lvdbing@localhost test]$ perl map.pl
Sweden
10 14 18 22

PART1:
1. 数组@list由6个十六进制数字和一个八进制数字构成。
2. map函数将@list中的每个项目映射到其对应的chr(字符)值并返回一新列表。
3. 打印新列表。使用chr函数将每个数字值转换为与其ASCII值对应的字符。
PART2:
4. 数组@n由整数列表构成。
5. map函数对于@n数组中的每个元素评价表达式,并将新列表返回评价得出的@n。
6. 打印映射的结果。
返回列表