Loose-Info.com
Last Update 2008/05/18
TOP - Perl - 関数 - grep

対象となるリストのうち、式またはブロックで返された結果が真となるものがリスト値として返されます。
式またはブロックで評価される際はリスト値から取り出された値は$_にセットされます。

戻り値1 = grep 式1 , リスト値1

戻り値1
式1を評価した結果が真になるものだけで構成されるリスト値
式1
リスト値1を評価する式
リスト値1
評価の対象となるリスト値(式1のなかで$_を変更すると元のリスト値も変更される)

戻り値1 = grep ブロック1 リスト値1

戻り値1
式1を評価した結果が真になるものだけで構成されるリスト値
ブロック1
リスト値1を評価するブロック
リスト値1
評価の対象となるリスト値(式1のなかで$_を変更すると元のリスト値も変更される)

(例1)
@test1 = ("abc", "bcd", "cde", "def"); @test2 = grep /b/, @test1; print "@test2\n";

実行結果
abc bcd

(例2)
@test1 = ("abc", "bcd", "cde", "def"); @test2 = grep {s/b/g/} @test1; print "\@test2 = @test2\n"; print "\@test1 = @test1\n";

実行結果
@test2 = agc gcd @test1 = agc gcd cde def