Perl中的grep和map
来源:互联网 发布:苹果电脑怎么装mac系统 编辑:程序博客网 时间:2024/05/01 21:38
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 单条语句,@number;
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对数字中所有元素实施转化并返回结果。两者都遍历了数组,但一个用来搜索,一个用来转化。两者都支持表达式或者代码块。
- #!/usr/bin/perl -w
- use strict;
- #get positive number
- my @number = (1,2,3, -1,-5);
- my @positive_number = grep $_ > 0, @number;
- print "\@number: (@number)\n";
- print "\@positive_number: (@positive_number)\n";
- #get sqrt
- my @sqrt_number = map sqrt $_, @positive_number;
- print "\@sqrt_number: (@sqrt_number)\n";
- #split words
- my @lines = ( "hello world", "not too bad" );
- my @words = map m/\b(\w+)\b/g, @lines;
- print "\@lines size: " . @lines . " (@lines)\n";
- print "\@words size: " . @words . " (@words)\n";
- #modify email address
- my @email_addresses = ( "fei\@gmail.com", "fei\@sina.com.cn" );
- my @disguised_addresses = map {
- my $email = $_;
- $email =~ s/\@/ at /;
- $email =~ s/\./ dot /g;
- $email;
- } @email_addresses;
- print "\@email_addresses: (@email_addresses)\n";
- print "\@disguised_addresses: (@disguised_addresses)\n";
参考:http://mailman.linuxchix.org/pipermail/courses/2003-November/001368.html
0 0
- Perl中的grep和map
- Perl中的map和grep
- Perl中的grep和map
- perl map 和grep使用
- perl总结(4)--grep和map
- perl: grep, map
- perl map&grep
- perl map-map用法示例和grep的用法
- Perl中map和grep 的使用区别
- 打卡9:perl grep/map
- perl:利用hash和grep去除数组中的冗余元素
- perl中的grep函数介绍
- grep在perl中的使用
- perl中grep,sort,map用法总结
- perl中grep,sort,map用法总结
- perl中grep,map用法总结
- perl中grep与map使用总结
- map 和grep结合使用
- Fix Xcode "Code signing operation failed. Invalid arguments were passed to codesign"
- poj 3233——Matrix Power Series
- Android - - - - - - Sevice
- ArcObjects与ArcGIS Engine
- 【云图】如何设置微信里的全国实体店地图?
- Perl中的grep和map
- 优游平台总代,优游平台总代【总代Q941494533】炎
- hbase条件查询实现理论
- python写的一个时钟程序(指针类的)
- Unix下五种IO模型简介
- ::取全局作用域
- 黑马程序员-结构体与枚举
- Compiler Error Message: CS0002: Unable to load message string from resources.
- pentaho 5.0的安装配置