Actually, no - that would happen if I were using map. grep doesn't return the value of the expression, it returns the original element if the expression evaluates to true. Observe:
$ touch a b e ; perl -le'@f=grep -e, qw(a b c d e f); print "@f"'
a b e