加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl中的grep和map

发布时间:2020-12-15 23:56:44 所属栏目:大数据 来源:网络整理
导读:http://blog.chinaunix.net/uid-23391008-id-2610416.html 1、map ? ? ? 对数组的每个元素 计算 语句值,最后将得到的最终值组成一个数组返回,$_为当前元素值 格式: ? ? ? 1-1、 @arr=map 单条语句,@number; ? ? ? 1-2、?@arr=map {多条语句} @number; 例

http://blog.chinaunix.net/uid-23391008-id-2610416.html

1、map

? ? ? 对数组的每个元素计算语句值,最后将得到的最终值组成一个数组返回,$_为当前元素值

格式:

? ? ? 1-1、 @arr=map 单条语句,@number;

? ? ? 1-2、?@arr=map {多条语句} @number;

例子:

? ? ?@arr=map $_+1,1..3; ?// @arr=(2,3,4)

? ? ?@arr=map {$_=$_+1;$_+1} 1..3;?? // @arr=(3,4,5)

?

2、grep

? 对数组的轮询,语句(语句块)为真-------选择,则对将该元素加入到返回的数组中(返回的数组初始为空),$_为当前元素值

? ? ? 1-1、 @arr=grep 单条语句,sans-serif; font-size:16px; line-height:25px"> ? ? ? 1-2、?@arr=grep {多条语句} @number;

? ? ?@arr=grep $_%2==1,1..3; ?// @arr=(1,3)

? ? ?@arr=grep {?$_%2==0} 1..3;?? // @arr=(2)

============

http://blog.csdn.net/autofei/article/details/6674346

grep返回一个数字中符合条件的所有元素;map对数字中所有元素实施转化并返回结果。两者都遍历了数组,但一个用来搜索,一个用来转化。两者都支持表达式或者代码块。

[plain]? view plain copy
  1. #!/usr/bin/perl?-w??
  2. use?strict;??
  3. ??
  4. #get?positive?number??
  5. my?@number?=?(1,2,?-1,-5);??
  6. my?@positive_number?=?grep??$_?>?0,?@number;??
  7. print?"@number:?(@number)n";??
  8. print?"@positive_number:?(@positive_number)n";??
  9. #get?sqrt??
  10. my?@sqrt_number??=?map?sqrt?$_,?@positive_number;??
  11. print?"@sqrt_number:?(@sqrt_number)n";??
  12. #split?words??
  13. my?@lines?=?(?"hello?world",?"not?too?bad"?);??
  14. my?@words?=?map?m/b(w+)b/g,?@lines;??
  15. print?"@lines?size:?"?.?@lines?.?"?(@lines)n";??
  16. print?"@words?size:?"?.?@words?.?"?(@words)n";??
  17. #modify?email?address??
  18. my?@email_addresses?=?(?"fei@gmail.com",?"fei@sina.com.cn"?);??
  19. my?@disguised_addresses?=?map?{??
  20. ????my?$email?=?$_;??
  21. ????$email?=~?s/@/?at?/;??
  22. ????$email?=~?s/./?dot?/g;??
  23. ????$email;??
  24. }?@email_addresses;??
  25. print?"@email_addresses:?(@email_addresses)n";??
  26. print?"@disguised_addresses:?(@disguised_addresses)n";??

参考:http://mailman.linuxchix.org/pipermail/courses/2003-November/001368.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读