grundsaetzlich ist ein map/grep immer ein spezialfall von for(each). hier mal meine Meinung zu dem Thema:
map/grep geht immer ueber die ganze liste
for hat next, last, redo
for(each) ist dazu da, ein array selbst zu veraendern
map ist dazu da, ein array zu kopieren und dabei aenderungen zu machen; spart variablen
grep ist dazu da, ein komplettes array zu filtern; spart variablen, laeuft aber immer ueber das gesammte array
for(each) ist dazu da, teile eines arrays zu filtern und bei bedarf frueher abzubrechen (last)
mit for(each) kann man auch benannte Laufvariablen (also was anderes als $_) benuetzen\n\n
<!--EDIT|Strat|1066658266-->