grep
grep EXPR, LIST
grep BLOCK LIST
LISTの中身を一つずつ$_にセットしてEXPRやBLOCKの真偽を評価する関数です。リストが要求される場面では真になった値のリストを返し、スカラーが要求される場面では真になった値の個数を返します。
サンプルプログラム
# @aからzが含まれているものを取得して@bに格納 @b = grep /z/, @a; # @aからzが含まれていないものを取得して@bに格納 @b = grep !/z/, @a; # @aからzが含まれているものの数を取得して$numに格納 $num = grep /z/, @a; # $_を変更すると配列のデータも変更されます # @aの中のaで始まるものの最後にAを付加する grep {/^a/ && ($_ .= 'A')} @a;
関連項目
・配列値の検索・map関数