perl map
perl的map函数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 ? "$keyn" ; } ; 结果为 Jacob ? 实例2 (获得所有的书名中包含的单词,且转化为大写) my
@books
?(
'Prideand?Prejudice'
?
'Masfield?Park'
'Nothanger?Abbey'
'Persuasion'
??
'Lady?Susan'
'The?Watsons'
@words
{
split
/
s
+/,
$_
)}
;
@uppercases uc $upword ? "$upwordn" ; } 结果为 (Perl map函数的输入数组和输出数组不一定等长,在split起过作用之后,当然@words的长度要比@books长了。) PRIDEAND ? 实例3 (将多余2位的数字提取到新的list) my
@buildnums
?(
'R010'
'W11'
'dd1'
);
@nums / d{ 2 }) }? $num ?( ){ ?? ? "$num?n" } $a = 'RRR3ttt'; @yy2 = $a=~/(RRR).*(ttt)/; 结果为??(正则表达式匹配后返回的为数组或长度,取决于表达式中是否有()或者接收的变量类型) 010? ? 完! 感谢,Thanks! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |