Thursday, November 08, 2012

Der Winter kann kommen - die Winterausgabe des Perl-Magazins ist da

Inhalt der  Winter-Ausgabe:

 * Subroutinen Prototypen

   Viele Perl-Programmierer verwenden Subroutinen-Prototypen ohne dass sie verstehen wofür diese Prototypen da sind.

Doch was sagen diese Prototypen aus? In anderen Sprachen werden solche Prototypen/Signaturen dafür verwendet, um herauszufinden welche Subroutine aufgerufen wird (falls mehrere Subroutinen mit dem gleichen Namen existieren) und die weitergegebenen Parameter zu prüfen. 

Dieser Artikel zeigt, wofür man in Perl die Subroutinen-Prototypen verwenden kann und wo Fallen lauern.

 * Compile- vs. Runtime

   #!/usr/bin/perl

$lib = '/path/to/libs';
use lib $lib;
use AnyModule;

So oder so ähnlich findet man es in vielen Programmen und Anfänger wundern sich, warum das nicht funktioniert. Ein Grund, sich etwas näher mit dem Ablauf eines Perl-Programms zu beschäftigen und sich anzuschauen, was wann passiert. Wenn "perl script.pl" aufgerufen wird, werden mehrere Phasen durchlaufen. 

Dieser Artikel zeigt und erläutert die Phasen die durchlaufen werden und welche Fallstricke lauern.

 * Operatoren überladen

    Eigentlich alle Objektorientierten Sprachen kennen den Begriff des Überladens. In den meisten Sprachen - wie z.B. Java - werden Methoden überladen, damit je nach Anzahl oder Art der Parameter die richtige Methode aufgerufen wird. Perl bietet weder Methoden-Signaturen noch das Überladen von Methoden. Deshalb ist der Begriff frei für etwas anderes: Operatoren überladen.

In Perl können alle Built-in Operatoren für eine Klasse mit einer neuen Bedeutung versehen werden, aber wozu das Ganze? 

Genau das zeigt dieser Artikel.

 * WxPerl-Tutorial - Teil 12

   Was tun wenn das gewünschte Widget nicht existiert? Selber bauen! Die letzte Folge des WxPerl-Tutorials deutet an wie es geht, denn alle Techniken wurden bereits beschrieben und Listings zu eigenen Widgets sind ungleich länger und besser im Netz aufgehoben. Dieser Teil beendet zugleich auch dieses Tutorial. Falls ein gesuchtes Thema nicht behandelt wurde, wie etwa 3D-Graphik per Wx::GLCanvas oder Anwendungen die mehrere Prozessorkerne beschäftigen können, sei noch einmal auf das gerade unter http://bitbucket.org/lichtkind/wxperlbook entstehende Wx Perl-Buch verwiesen. Es wird auch einige nützliche Werkzeuge als Beispielprogramme enthalten, gekrönt von einem bequemen Dokumentationsbetrachter namens Dokular, der erst einmal eine bessere Übersicht über Wx Perl bieten soll. 

 * XML::Compile und SOAP

    In der Ausgabe 03/2012 dieses Magazins hat Mark Overmeer die Grundlagen der Handhabung von XML in Perl erklärt. Verwendet hat er hierzu das Modul XML::Compile. Dieses Modul erstellt strikte Konverter von XML-Nachrichten in komplexe Perl-Datenstrukturen und umgekehrt.

Die meisten Perl Module versuchen nach dem DWIM (Do What I Mean) - Prinzip vorzugehen um den Aufwand für den Programmierer so gering wie möglich zu halten: der Code vermutet, wie er sich zu verhalten hat. Wenn die XML Nachricht durch ein "schema" - der formalen Spezifikationssprache von Nachrichtenstrukturen - definiert ist, ist DWI Ming gefährlich: die Prüfung auf Richtigkeit der Struktur ist standardmäßig notwendig. DWI Ming könnte falsch liegen. 

In dieser Ausgabe zeigt Overmeer, wie XML::Compile die Verwendung von SOAP-Schnittstellen vereinfacht und warum SOAP::Lite nicht so wirklich Leichtgewichtig ist.

 * Mojolicious Tutorial - Teil 1

   In der letzten Ausgabe wurde bereits eine Mini-Einführung in Mojolicious gegeben. Ab dieser Ausgabe soll ein ausführlicher Einstieg gezeigt werden. Der Einstieg sollte sehr leicht werden, weil das Framework außer Perl 5.10.x keine Voraussetzungen hat. Alle notwendigen Module werden mitgeliefert. Im Laufe des Tutorials soll eine Webanwendung programmiert und erweitert werden, bei der Läufer ihre täglichen Zeiten und Kilometer eintragen können. 

Im ersten Teil des Tutorials wird auf das Routing eingegangen. Auch die Built-in-Templatesprache von Mojolicious und Stashes sind Thema.

 * Rezension - Arbeitsgrundlage

   Zurück zu den Wurzeln. Dieses Mal geht es um Wissen, dass man für seine professionelle Programmierarbeit unbedingt besitzen sollte. Das neue Beginning Perl will die berechtigte Frage beantworten: "Womit muss man vertraut sein, um reale Aufträge selbständig lösen (... und sich die restlichen Details im Netz selbst heraussuchen) zu können?". Im zweiten Buch von Mathias Geirhos geht es darum, wie das Projekt geplant und durchführt wird, ohne das man selbst oder das Vorhaben darunter leidet. Doch zum Einstieg soll es um winzige Perlskripte gehen, welche bei den kleinen, nebenbei anfallenden, Arbeiten nützlich sind.

 * Sonstiges

   Auch in dieser Ausgabe dürfen die CPAN-News nicht fehlen. Es werden 6 neue Module auf CPAN vorgestellt. Neu ist die Kategorie P5P News, die über die Geschehnisse bei den Perl 5 Porters berichtet. Aber auch die Neuigkeiten aus der Perl Foundation finden in dieserAusgabe einen Platz.

No comments: