Perl中的grep和map
发布时间:2020-12-16 00:35:24 所属栏目:大数据 来源:网络整理
导读:grep返回一个数字中符合条件的所有元素;map对数字中所有元素实施转化并返回结果。两者都遍历了数组,但一个用来搜索,一个用来转化。两者都支持表达式或者代码块。 #!/usr/bin/perl -wuse strict;#get positive numbermy @number = (1,2,3,-1,-5);my @posit
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |