Friday, April 29, 2011

Ausgabe Nr 18 des Perl-Magazins "$foo" ist da!

In ca. zwei Wochen wird es die ePub-Ausgabe des Magazins geben, aber jetzt gibt es schon die PDF-Version und die Print-Ausgabe.

Abonnenten der Print-Ausgabe sollten Anfang nächster Woche ihr Heft in den Händen halten können.

Die Themen in dieser Ausgabe:

* Wie erweitere ich Perls Syntax - Teil 2

Im zweiten Teil der Reihe zeigt Rolf Langsdorf, wie er mit Templates und Introspektion Macros für Perl schafft und so das "gather-take"-Konstrukt in Perl 5 bekommt.

* CPAN-Distributionen im openSUSE Build Service paketieren

Mit dem openSUSE Build Service können Programme und Bibliotheken als binäre Pakete zur Verfügung gestellt werden. Matthias Weckbecker stellt diesen Service vor und zeigt, wie Perl-Programmierer ihre Module als binäre Pakete auch in Repositories zur Verfügung stellen können.

* Tapper Testinfrastruktur

AMD hat mit der Software "Tapper" ein Tool veröffentlicht, mit dem sich die meisten Bereiche des Testens automatisieren lässt.

Steffen Schwigon beschreibt in seinem Artikel die einzelnen Komponenten von Tapper und wie diese zusammenarbeiten.

Auch die Konfiguration von verschiedenen Testszenarios wird dargestellt.

* Hack your applications!

Rolf Langsdorf veranschaulicht, wie Protokolle und die damit verbunden Aktionen für eigene Zwecke benutzen kann. Konkret beschreibt er, wie er mit "mailto:"-Links Anwendungen aus seinen Präsentationen starten kann.

* Moose Tutorial IV - Rollen

Rollen sind ein elegantes Mittel für zusätzliches Verhalten von Klassen und Objekten.
In dieser Form gibt es das nicht in anderen Sprachen - in Moose sind sie von Anfang an dabei.
Der Artikel zeigt, wie eigene Rollen umgesetzt werden können und welche nützlichen Rollen es auf CPAN schon gibt.
Auch Stärken und Schwächen von Rollen werden aufgezeigt.

* WxPerl Tutorial VII - Gestaltung komplexerer Programme

Herbert Breunung zeigt im siebten Teil des WxPerl-Tutorials, wie der Wx "Malkasten" - der draw context - eingesetzt wird. Auch Validatoren für Eingabefelder werden vorgestellt.

* Rezension - Programmieren mit Stil

Zwei Bücher werden in dieser Ausgabe besprochen: "Modern Perl" von chromatic und "Clean Code" von Robert C. Martin. Beide Bücher werden von Herbert Breunung vorgestellt.

* CPAN-News

Auch in dieser Ausgabe werden wieder sechs neue Module vorgestellt. Darunter auch ein Modul, mit dem man sich die kürzesten Verbindungen in Londons U-Bahn ausgeben lassen kann.

Thursday, April 28, 2011

Perl Schnellstart

Einführung in die Perl-Programmierung - Ein Beispiel mit Strawberry Perl für Windows



Jeder fängt mal an. Im Falle von Perl beginnt man mit der Installation des Perl-Interpreters. Der Interpreter ist sozusagen das Programm, das den Quellcode, den man schreibt, in Anweisungen für den PC übersetzt. Dann installiert man sich einen geeigneten Editor und schreibt sein erstes Programm. Dann lernt man mit strict, cpan und Foren umzugehen und schon ist man mitten drin im Perl-Abenteuer.

Strawberry Perl


Den Perl-Interpreter gibt es für Windows von verschiedenen Anbietern. In diesem Beitrag wird Strawberry Perl verwendet. Eine Übersicht über alle Perl-Interpreter gibt es hier: http://win32.perl.org/ (englisch)

Strawberry-Perl-Distributionen gibt es für 32-bit und 64-bit-Windows. Wer sich nicht sicher ist, ob er ein 32-bit oder 64-bit-System benutzt, sollte zur 32-bit-Version greifen. Wenn das nicht geht, zur anderen. Hier geht’s zum Download: http://strawberryperl.com/

Perl-Editor


Viele Bücher schwärmen davon, dass man nur Perl, einen Editor und eine
Kommandozeile braucht, um Perl zu programmieren. Das stimmt schon, aber das ist so, als würde man sagen, dass man zum Bauen eines Hauses nur Bretter, Nägel und einen Hammer bräuchte.

Um den Einstieg etwas angenehmer zu gestalten, bietet sich die Verwendung eines Editors an, der folgende zwei Funktionen bietet:

  • Hervorhebung der Perl-Syntax

  • Ausführen von Code per Tastendruck


Ein solcher Editor kann zum Beispiel die Open Perl IDE (OPI) sein.
Diese gibt es hier: http://open-perl-ide.sourceforge.net/

OPI entpackt man einfach in ein Verzeichnis seiner Wahl ( z.B. C:\Perl\OPI ). Dort führt man die Datei PerlIDE.exe aus. Im Editor selbst kann man Perl-Skripte einfach per F9-Taste starten.


Abbildung 1 - So sieht die Open Perl IDE aus


Perl-Programm


Wer anfängt, eine Programmiersprache zu lernen, hat meistens ein Ziel. Das kann auch ruhig höher gesteckt sein, z.B. ein Warenwirtschaftssystem oder ein Content-Management-System. Hauptsache, man hat ein Ziel vor Augen, denn dann kann man kleinere Aufgaben abspalten und während der Umsetzung Perl lernen – ganz automatisch.

Ein erstes Perl-Programm (first.pl) sähe zum Beispiel so aus:

#!perl
use strict;
use warings;

print “This is perl!\n”;
my $ergebnis = 4 + 7;
print “4 + 7 = $ergebnis\n”;

exit(0);


Der geneigte Leser kann sich diesen Quellcode gerne schon einmal in OPI kopieren, als Datei speichern (Perl-Dateien enden per Konvention gerne auf .pl) und mit F9 ausführen. Das Ergebnis erscheint in der Konsole unten.

Eine Referenz zur Programmiersprache Perl gibt es übrigens hier: http://perldoc.perl.org/ und ein gutes Buch für den Einstieg ist Perl lernen. Anfangen, Anwenden, Verstehen (ISBN-10: 3827316502).

Perl-Foren / Perl-Community



Wenn man nicht weiß, womit man anfangen soll, oder wer nicht weiter weiß, der sollte einfach mal fragen. Gerade zu Beginn ist die Wahrscheinlichkeit hoch, dass schon jemand anderes genau dasselbe Problem hatte und helfen kann.

Es gilt dann nur noch, ein Perl-Forum aufzusuchen (am besten gleich anmelden) und dort richtig zu fragen. Die erste Antwort ist übrigens fast immer RFTM. Die kann man getrost ignorieren, auf gar keinen Fall sollte man sich dadurch angegriffen fühlen. Meistens sieht der Antwortende den Verweis auf RTFM sogar als hilfreich an und meint es nicht offensiv.

Um dem Problem zu entgehen, kann man tatsächlich vorher mal kurz eine beliebige Suchmaschine verwenden und nach dem Problem suchen, das man hat. Wenn man dann nichts findet, kann zusätzlich zu seiner Frage im Forum schreiben, nach was man bereits gesucht hat. Hat man falsch gesucht, bekommt man dann meistens Verbesserungsvorschläge. Das hilft auf Dauer.

Diese beiden Foren sollte man kennen:



Von Perl.de würde ich persönlich erst einmal abraten.

Module und CPAN


Perl bietet eine unheimlich große Sammlung von gekapselten Funktionalitäten – sog. Modulen – die bereits andere Menschen geschrieben haben – das CPAN (Comprehensive Perl Archive Network). Man darf diese Module i.d.R. einfach benutzen, auch um Geld zu verdienen. Der Preis, den man für die Nutzung zahlen muss, ist die Notwendigkeit, sich an die CPAN-Konsole zu gewöhnen, um die Module vom CPAN auf den lokalen PC zu laden. Es gibt so viele Module, die kann man einfach nicht alle bei Perl dazulegen. Außerdem finden sich auf CPAN immer die aktuellsten Versionen.

CPAN gibt es hier: http://www.cpan.org und Module kann man hier suchen: http://search.cpan.org.

Ein Modul, mit dem man grafische Benutzeroberflächen erstellen kann, nennt sich Tk. Man ruft dazu einfach cpan auf (das gibt es bei Strawberry-Perl als Verknüpfung) und tippt dann ein: install Tk

Danach kann man in OPI folgendes Programm schreiben (tk_first_shot.pl):
#!perl

use strict;
use warnings;
use Tk;

my $mw = Tk::MainWindow->new();
$mw->packPropagate(0);
$mw->Label(-text => "This is perl!")->pack();
$mw->MainLoop();

exit(0);



Abbildung 2 - tk_first_shot.pl abgespeichert und ausgeführt


Zusammenfassung


Zum Programmieren mit Perl braucht man: