In response to Tassilo von Parseval's query q[What is the point of "foreach", then?] on p5p, Yitzhack Scott-Thoennes said:
call_me_with_void_context($_) foreach @list;
grep call_me_with_scalar_context($_), @list;
map call_me_with_list_context($_), @list;
I think that sums it up beautifully. Someone should use it in a book, or send a patch to the FAQ.