URL dieses Artikels:

zu Ausgabe: 05.2003
Perlentaucher
Neue Module aus dem CPAN
von Johannes Gamperl
Auf dem Comprehensive Perl Archive Network (CPAN) finden Perl-Programmierer unzählige Informationen, die das Leben im Programmieralltag erleichtern. Darunter auch eine umfassende Sammlung von Perl-Modulen, -Routinen und -Programmen für die unterschiedlichsten Aufgaben. In dieser Rubrik stellen wir Ihnen interessante und neue Module und Programme vor. Das CPAN erreichen Sie unter www.cpan.org/.

Mail::CheckUser
Mit dem Modul Mail::CheckUser [1] können Sie eMail-Adressen auf Ihre Gültigkeit überprüfen. Dabei wird nicht nur die korrekte Syntax überprüft, sondern auch der Versuch gestartet zu testen, ob die dazugehörige Mailbox existiert. Den Umfang dieser Tests können Sie über die globalen Variablen zu diesem Modul bestimmen.

Games::QuizTaker
Games::QuizTaker [2] ermöglicht Ihnen die einfache Umsetzung und Einbindung von Quizfragen im Stil von Frage/Antwort-Tests. Die Anwendung ist denkbar einfach, über eine Konfigurationsdatei im CSV-Format pflegen Sie die gewünschten Fragen und die dazugehörigen Antworten. Ein beigepacktes Beispiel hilft Ihnen bei der Einarbeitung zu diesem Modul.

perldoc
Dokumentationen im pod-Format gehören zu jedem Perlmodul. Mit perldoc [3] können Sie diese Inhalte bequem am Bildschirm ausgeben. Dieses Programm stellt etliche nützliche Features wie etwa die Möglichkeit, nach Inhalten zu suchen, zur Verfügung. Sie können die Dokumentation eines Moduls direkt aufrufen oder nach Modulen in Ihrem Perlverzeichnis gezielt suchen.

Graphics::ColorNames
Das Modul Graphics::ColorNames [4] hilft Ihnen bei der Definition von Farbnamen im RGB-Format. Dazu übergeben Sie der entsprechenden Methode den gewünschten Farbnamen im Klartext (z.B. darkgreen) und Sie erhalten anschließend den passenden RGB-Wert. Bei der Initialisierung des Moduls können Sie bestimmen, welche Farbpaletten zur Verfügung stehen sollen, etwa die Netscapepalette mit 100 Farbnamen oder die Windowsstandardpalette mit 16 Farben.

webreaper
Um Webseiten zu spiegeln, gibt es zahlreiche Programme. Mit webreaper [5] erhalten Sie eine einfach zu bedienende Perlvariante. Um die gewünschte Seite zu spiegeln, übergeben Sie dem Programm lediglich die entsprechende URL. Weitere Funktionen zur Einschränkung des Downloads sind in Planung.

HTML::BarGraph
HTML::BarGraph [6] ermöglicht Ihnen übersichtliche Balkendiagramme in HTML darzustellen. Diese Diagramme können entweder vertikal oder horizontal ausgegeben werden. Bei der Umsetzung bestimmen Sie eine Überschrift zum Diagramm sowie die Werte der x/y-Achse. Die Datenstruktur wird über Listen oder direktes Eintragen dem Modul übergeben. Bei der Darstellung der Diagramme haben Sie zahlreiche Formatierungsmöglichkeiten, die sich über die Farbe zum Schrifttyp bis hin zur Tabellendarstellung erstrecken. Dem Modul ist eine Beispieldatei mit einfachen bis komplexen Tabellen beigelegt.

Blog::Simple
Blogs erfreuen sich zunehmender Beliebtheit. Man kann damit auf seiner Webseite Informationen, chronologisch gelistet, für die Allgemeinheit bereitstellen. Im Grunde genommen nichts anderes als digitale Tagebücher. Das Modul Blog::Simple [7] verfügt über nützliche Funktionen, um solche Daten im XML-Format zu verarbeiten. In der vorliegenden Version können Einträge hinzugefügt und wieder gelöscht und natürlich der Inhalt ausgegeben werden.

Errors::Errors
Errors::Errors [8] hilft Ihnen, Fehler in Ihren Skripten abzufangen und mit einer hilfreichen Bemerkung anzuzeigen. Üblicherweise erfolgt dies in eigenen Programmen mit Hilfe von die() oder warn(). Dieses Modul ermöglicht es Ihnen, auftretende Fehler nach Ihren Vorgaben zu bearbeiten. Das kann entweder die formatierte Ausgabe des Fehlers oder die Benachrichtigung über eine eMail sein. Ausprobieren lohnt sich in jedem Fall!

Algorithm::Numerical::Shuffle
Wie der Name vielleicht schon erahnen lässt, bringt Algorithm::Numerical::Shuffle [9] eine Liste in Unordnung. Über einen interessanten Algorithmus werden die übergebenen Daten in zufälliger Reihenfolge durcheinander gewürfelt und so als Liste wieder zurückgegeben.

WWW::Search::Tv::German::Tvtoday
Für alle Fernsehsüchtigen unter uns dürfte das Modul WWW::Search::Tv::German::Tvtoday [10] die richtige Medizin sein. Damit können Sie nach gewünschten Programmtiteln im Verzeichnis von TV Today [11] suchen. Als Ergebnis erhalten Sie eine Liste mit den gefundenen Programmen und als Information den genauen Programmtitel, das Datum und die Uhrzeit der Ausstrahlung sowie den TV-Sender. Bei der Suche können Sie bestimmte Sender ausschließen.

XML::Quote
Für korrekt geformtes XML ist es notwendig, kritische Zeichen für XML tauglich zu maskieren. XML::Quote [12] hilft Ihnen dabei und erlaubt Ihnen dazu entweder alle XML kritischen Zeichen zu maskieren oder die Maskierung unter Ausschluss der Zeichen " und > durchzuführen. Selbstverständlich liefert das Modul auch eine Methode zum Rückkonvertieren maskierter Zeichen.

CGI::WML
CGI::WML [13] ist eine Unterklasse zu CGI.pm, dem wohl erfolgreichsten Modul für die CGI-Programmierung. Mit dieser Erweiterung können Sie in der gewohnten Syntax von CGI.pm Seiten für WAP-Anwendungen erstellen. Für diese Aufgabe stehen Ihnen neben eigenen Erweiterungen sämtliche Möglichkeiten aus dem CGI-Modul zu Verfügung.

Sub::Regex
Sub::Regex [14] ist ein interessantes Modul, mit dem Sie eine Subroutine über einen regulären Ausdruck erzeugen können. Auf diese Weise können Sie ein und dieselbe Routine mit unterschiedlichen Schreibweisen verwenden. So eine Subroutine wird nach dem folgenden Muster erzeugt: sub /ihr_ausdruck/ ($){ }. Eine Routine mit der Deklaration sub /test[0-9]/ ($) { } kann jetzt mit test1()oder test8() usw. aufgerufen werden. Ob diese Erweiterung sinnvoll oder eher unsinnig ist, sei dahin gestellt. Interessant ist Sie allemal.
Johannes Gamperl ist freier Journalist und selbstständiger Programmierer. Im Internet ist er unter seiner Firmenseite www.jg-webdesign.de/ oder seinem Portal für Webentwickler www.devshare.de/ zu erreichen.


Balkendiagramme mit HTML::BarGraph sind im Handumdrehen erstellt.

Beispiel HTML::BarGraph: Das folgende Bespiel erzeugt ein Balkendiagramm mit horizontaler Ausrichtung (siehe Abbildung). Für die Ausgabe wurde das HTML-Format gewählt, d.h. es werden keine Grafiken für die Einrichtung der Tabelle verwendet. Die angezeigten Werte sind natürlich unsinnig und sollen lediglich als Beispiel dienen. Die umfangreichen Konfigurationsmöglichkeiten dieses Moduls entnehmen Sie der Dokumentation.

Listing 1

use HTML::BarGraph;

open(F, ">./tabellen_test.html");
print F graph(
direction => '|',
bartype => 'html',
barlength => 200,
barwidth => 5,
colors => [ 'blue', 'red', 'lightblue', 'green' ],
data => [
[ 10, 20, 30, 40 ],
[ 50, 60, 70, 80 ],
[ 50, 60, 70, 80 ],
],
tags => [ rot, gruen, gelb, orange ],
setspacer => 1,
showaxistags => 1,
showvalues => 1,
bordertype => 'reised',
bordercolor => '#333333',
borderwidth => 1,
bgcolor => 'bisque',
title => 'Häufigkeit der Farben (in %)',
titlealign => 'center',
fontface => 'sansserif',
ylabel => 'Stimmen',
xlabel => 'Farben',
labeltextcolor => 'yellow',
labelbgcolor => 'black',
);
close(F);

Links

© 2004 Software & Support Verlag GmbH. Vervielfältigung nur mit Genehmigung des Verlags. Fragen?