perl的map函数

perl的map函数,第1张

概述perl的map函数的使用:   语法 map EXPR, LIST map BLOCK LIST   定义和使用 对list中的每个元素执行EXPR或BLOCK,返回新的list。对每一此迭代,$_中保存了当前迭代的元素的值。   返回值 如果返回值存储在scalar标量中,则代表map()返回数组的元素个数; 如果返回值存储在list中,则代表map()函数的数组;   实例1 (将单词首字母

perl的map函数的使用:

 

语法

map EXPR,List

map BLOCK List
 

定义和使用

对List中的每个元素执行EXPR或BLOCK,返回新的List。对每一此迭代,$_中保存了当前迭代的元素的值。

返回值

如果返回值存储在scalar标量中,则代表map()返回数组的元素个数;

如果返回值存储在List中,则代表map()函数的数组;

实例1 (将单词首字母大写)

# !/usr/bin/perl -w

@mynames   =  ( ' jacob , alexander ethan andrew );
@ucnames map ( ucfirst   $numofucnames );

foreach $key  (   ){
 
print " $key\n ;
}
;

结果为

Jacob
Alexander
Ethan
Andrew
4

实例2 (获得所有的书名中包含的单词,且转化为大写)

my @books PrIDeand Prejudice emma MasfIEld Park Senseand Sensibility Nothanger Abbey Persuasion    Lady Susan Sanditon The Watsons @words { split /\ s +/, $_ )} ;
@uppercases uc $upword $upword\n ;
}
结果为 (Perl map函数的输入数组和输出数组不一定等长,在split起过作用之后,当然@words的长度要比@books长了。)

PRIDEAND
PREJUDICE
emmA
MASFIELD
PARK
SENSEAND
SENSIBIliTY
NOTHANGER
ABBEY
PERSUASION
LADY
SUSAN
SANDITON
THE
WATSONS

实例3 (将多余2位的数字提取到新的List)

my
@buildnums R010 T230 W11 F56 dd1 );
@nums / \ d{ 2 }) $num  ( ){
  
$num \n
}

$a = 'RRR3ttt';
@yy = $a=~/RRR.*ttt/;
$numofyy = $a=~/RRR.*ttt/;
print "@yy\n";
print "$numofyy\n" ;

@yy2 = $a=~/(RRR).*(ttt)/;
$numofyy2 = $a=~/(RRR).*(ttt)/;
print "@yy2\n";
print "$numofyy2\n";
print "$1 $2";

结果为  正则表达式匹配后返回的为数组或长度,取决于表达式中是否有()或者接收的变量类型)

010  230  11  56  1 1 RRR ttt 1 RRR ttt

总结

以上是内存溢出为你收集整理的perl的map函数全部内容,希望文章能够帮你解决perl的map函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1294052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存