Perl 中的 grep 函数

作者: JSON_NULL | 来源:发表于2017-09-27 18:17 被阅读4次

    语法

    grep {BLOCK} @list;
    grep  EXPR , @list;
    

    功能

    遍历@list,对@list中的每个元素调用BLOCK或进行EXPR测试。并返回一个列表,列表中的元素是能够使得BLOCK或EXPR返回true的元素。在标题上下文件中返回的是列表中元素的个数。

    注:@list中的每个元素可能会在结果列表中产生0个或一个元素。

    grep是通过判断列表中每个元素是否满足正则表达式或者BLOCK块来返回true和false,再根据true和false来决定最终的返回列表。所以grep多时用来过滤元素用的。

    例子:删除注释行

      my @chars = grep(!/^#/,@code);
      my @chars = grep {!/^#/} @code;  
    

    注意

    1. 在BLOCK中$_ 是列表元素的别名,因为可以修改原列表的中元素的值。
    2. 如果列表中的元素不是变量,而在BLOCK中修改了$_的值,将会产生不可预料的结果。

    相关文章

      网友评论

        本文标题:Perl 中的 grep 函数

        本文链接:https://www.haomeiwen.com/subject/erauextx.html