www.mucker.at http://www.mucker.at Helmut Mucker de Perl-Grundlagen: die map-Funktion http://www.mucker.at/2008//07#map <!-- amazon-search: Perl --> <!-- amazon-mode: books --> <a href="http://www.amazon.de/gp/product/3446406832?tag=mucker-at21&link_code=xm2&camp=2025&dev-t=D2XXWVEZNTS1N5"><img class="border alignleft" height=110 alt="" src="http://ec2.images-amazon.com/images/P/3446406832.01._BO2,204,203,200_PIsitb-dp-500-arrow,TopRight,45,-64_OU03_AA240_SH20_SCLZZZZZZZ_V62574205_.jpg" /></a> <p> Die perl-Funktion <b>map {BLOCK oder FUNKTION oder AUSDRUCK} (LISTE)</b> ruft für jedes Element von <b>LISTE</b> den übergebenen <b>BLOCK</b>, die übergebene <b>FUNKTION</b> oder den übergeben <b>AUSDRUCK</b> auf. Der Rückgabewert ist wieder eine Liste, welche aus den Ergebnissen der einzelnen Funktionsaufrufe besteht. Das klingt komplizierter, als es in Wirklichkeit ist. Ein kleines Beispiel: <pre> my @list = 1..20; my @squares = map { $_ ** 2 } @list; print "List: @liste\n"; print "Squares: @quadrat\n"; </pre> liefert als Ausgabe: <pre> List: 1 2 3 4 5 6 7 8 9 10 Squares: 1 4 9 16 25 36 49 64 81 100 </pre> Ein zweites Beispiel. Die Umwandlung der Elemente eines Arrays in Großbuchstaben: <pre> my @text=("Das","ist","ein","Text."); my @big=map(uc, @gross); print "Text: @text\n"; print "Groß: @big\n"; </pre> liefert als Ausgabe: <pre> Text: Das ist ein Text. Groß: DAS IST EIN TEXT. </pre> </p>