rlm@8: #!/usr/bin/perl rlm@8: rlm@8: sub filter rlm@8: { rlm@8: rlm@8: $ref = shift; rlm@8: @list = @_; rlm@8: my @ret = (); rlm@8: rlm@8: for $element(@list) rlm@8: { rlm@8: if ($ref->($element)) rlm@8: { rlm@8: push @ret, $element; rlm@8: } rlm@8: } rlm@8: rlm@8: return @ret rlm@8: rlm@8: } rlm@8: rlm@8: rlm@8: rlm@8: rlm@8: @test = (1,2,3,4,5,6); rlm@8: rlm@8: sub even rlm@8: { rlm@8: return ($_[0]%2 == 0); rlm@8: } rlm@8: rlm@8: @rr = &filter(\&even, @test); rlm@8: rlm@8: print "@rr";