18.10.2013 Aufrufe

PDF-Version - freiesMagazin

PDF-Version - freiesMagazin

PDF-Version - freiesMagazin

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Perl-Tutorium – Teil 4: Referenzen auf Arrays und Hashes von Herbert Breunung<br />

Viele wichtige Perlvokabeln wurden bereits<br />

in den Teilen 1 bis 3 beschrieben<br />

und angewendet. Es ist also Zeit, einen<br />

Gang runter zu schalten, um Details zu betrachten,<br />

die bisher überflogen wurden. Zum<br />

Beispiel werden Arrays und Hashes gründlicher<br />

verglichen und wesentliche Ausgabehilfen<br />

vorgestellt. Ziel dieses Textes ist es aber<br />

zu zeigen, wie sie sich wie Legosteine kombinieren<br />

lassen, um die Datentürme noch höher<br />

und breiter zu bauen. Das Demoprogramm<br />

wird dafür kurzfristig in den Hintergrund treten.<br />

Nachträge<br />

Eigentlich stünde der letzten Folge der Titel<br />

„String- und Listenmanipulation sowie Hashes“<br />

wesentlich besser, denn weder Schleifen noch<br />

Subroutinen wurden groß erörtert. Dafür aber<br />

beide Möglichkeiten der bedingten Ausführung<br />

(if und when). for-Schleifen wurden erläutert,<br />

aber es gibt noch zwei weitere Arten: while und<br />

until. Rein logisch verhalten sie sich wie if und<br />

unless. Bei einer einfachen if-Anweisung (ohne<br />

elsif oder else) wird der Block ausgeführt,<br />

wenn die Bedingung einen positiven Wert (nicht<br />

0, leer oder undef) zum Ergebnis hat. Ebenso<br />

verhält sich while. Nur prüft es danach wieder<br />

die Bedingung, sooft bis sie einmal negativ<br />

ausfällt. Erst danach wird der Block nicht mehr<br />

ausgeführt. Damit lassen sich also Programme<br />

schreiben, die niemals ein Ende finden. Manch-<br />

mal ist das allerdings erwünscht. Dann wird oft<br />

so etwas geschrieben:<br />

while (1) {<br />

say "Ich dreh hier schon seit <br />

Stunden ...";<br />

}<br />

until funktioniert genauso, verneint (wie mit<br />

not) nur das Ergebnis der Bedingung, so wie<br />

unless es auch tut. Es führt solange den Block<br />

aus, bis die Prüfung positiv ausfällt. Lustigerweise<br />

kennen fast alle Sprachen (bis auf Python)<br />

until, aber neben Perl nur wenige (wie Ruby)<br />

auch unless.<br />

Und die im Einleitungsteil gepriesene derzeitige<br />

Umgestaltung der Infrastruktur schritt auch seit<br />

<strong>freiesMagazin</strong> 07/2011 [1] gut voran. Die damals<br />

aufgezählten CPAN-Dienste, wie etwa Bewertungen<br />

oder die Testmatrix, die über mehrere<br />

Seiten verstreut sind, können jetzt über die<br />

MetaCPAN-Seite [2] auf der Hauptseite jedes<br />

Moduls in zwei Spalten überblickt werden. Welche<br />

Module das angezeigte benötigen, wird aufgelistet.<br />

Sogar die Entwicklung der Quellen ist<br />

dort graphisch dargestellt und es lässt sich einfach<br />

in den <strong>Version</strong>sunterschieden blättern. Die<br />

Suche wurde bequemer, da wie von Google gewohnt,<br />

während des Tippens Vorschläge unterbreitet<br />

werden. Die Modul-URL wurden ebenfalls<br />

kürzer und prägnanter. Auch das Angebot von<br />

PrePAN [3] wird gerade vom MetaCPAN aus ver-<br />

PROGRAMMIERUNG<br />

knüpft. Auf dieser kürzlich erst gegründeten Seite<br />

können Entwickler und Interessierte über vorhandene<br />

und geplante (daher der Name „Pre“) Module<br />

diskutieren. Wem die Gelegenheit fehlt, die ungezählten<br />

Perlblogs täglich im Blickfeld zu behalten,<br />

der informiere sich in etwa fünf bis zehn Minuten<br />

mit der wöchentlichen Rundmail von Perl<br />

Weekly [4], die Gabor Szabo nun versendet. Sie<br />

ist lesbarer und informativer als die Übersichten<br />

der letzten wichtigereren Blog-Beiträge, die Andy<br />

Lester auf Perlbuzz [5] zusammenträgt.<br />

Der letzte Neuzugang ist das Perl Tutorial Hub<br />

[6], ein Zentralregister für alle Lehrmaterialien zu<br />

Perl, welche dort sortiert und bewertet werden.<br />

Auch dieses Tutorium wurde dort bereits erfasst,<br />

aber noch nicht bewertet.<br />

Variablen<br />

Das Thema Variablen ist in Perl so simpel wie<br />

möglich gehalten. Jede skalare Variable kann ohne<br />

Voranmeldung alles aufnehmen, egal ob Zahlen,<br />

Texte, Entscheidungen, Suchmuster oder<br />

Programmteile. Es ist auch nicht wichtig, wie<br />

groß die Daten sind oder ab wann sie nicht mehr<br />

gebraucht werden. Der Interpreter regelt die technischen<br />

Details.<br />

Manchen gefällt nur nicht, dass Variablen mit<br />

$, @ oder % anfangen müssen. Aber anderen<br />

Menschen fällt es so leichter, Variablen wiederzuerkennen.<br />

Ebenso kann Perl (wie im letzten<br />

Teil gezeigt) damit die Variablen in jeder Lage<br />

© <strong>freiesMagazin</strong> CC-BY-SA 3.0 Ausgabe 12/2011 34

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!