perl: grep, map
grep: my @odds = grep {$_ % 2} 1..10; ? my @lines = grep {/bfredb/i} <FILE>; my @lines = grep /bfredb/I,<FILE>; ? map: ? ? ? map操作和grep非常类似,因为它们有相同类型的参数:一个使用$_的块,以及一列需要处理的元素。它们处理的方式也 是类似的,首先根据列表中的元素对块的值进行判断,每一次$_被赋予新的列表中的值。 ? ? ? 但使用块中最后一个表达式的值的方法是不同的:grep不是返回一个Boolean值,而是将计算的值作为返回结果。 ? ? ? 任何的grep或map语句均可以用foreach循环重新书写,每一次将结果元素放入一个临时数组中。 但短的方式通常更有效以及方便。由于的结果是列表,因此它可以直接传递给另一个函数。 e.g. [omc@rocca ~]$ perl -e 'my @odds = grep {$_ % 2} 1..10; foreach my $tmp(@odds) {print "$tmpn";}'; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |