![]() |
|
URL dieses Artikels:
zu Ausgabe:
06.2003
PERLon-Strumpf
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/.
Convert::BulkDecoder Das Modul Convert::BulkDecoder [1] kann Dateianhänge in eMail- und News-Nachrichten entschlüsseln und darstellen. Dabei werden die Formate UUdecoding, ydecoding und MIME unterstützt. Für das Arbeiten sind eine ganze Reihe nützlicher Argumente verfügbar, welche bei Bedarf wichtige Informationen zu einem Attachement liefern können. XML::RSS Um Neuigkeiten im RSS-Format [2] zu erzeugen, können Sie XML::RSS [3] verwenden. Das Modul stellt Routinen zum Erzeugen und Aktualisieren in diesem Dateiformat bereit. Der Distribution liegen zahlreiche Beispiele bei, welche Ihnen den ersten Umgang mit diesem Modul erleichtern sollen. Zudem erhalten Sie Beispiele, die erklären, wie man RSS-Dateien in HTML umwandeln kann. pmq pmq [4] ist ein Programm, das Ihnen die Versionsnummern Ihrer installierten Perl-Module anzeigt. Dafür haben Sie eine Reihe von Optionen zur Verfügung. Dieses Tool informiert Sie auf einfache Weise über den aktuellen Stand Ihrer Perl-Distribution. Mail::SpamAssassin Mit Mail::SpamAssassin [5] können Sie Ihre eingehenden eMails von unerwünschtem Spam filtern, falls Sie diese über ein eigenes Mailboxskript abrufen. Das Modul sucht dazu nach bestimmten Texten im Betreff und dem Body der Nachricht, wobei es sich unter anderem auf Informationen aus Spamlisten im Internet bezieht. Erkannte Nachrichten können als Spam markiert werden und in ein separates Verzeichnis zum späteren Bearbeiten verschoben werden. CGI::ContactForm Das Modul CGI::ContactForm [6] ist für das schnelle Erzeugen von Kontaktformularen gedacht. Es sorgt für die Ausgabe des Formulars in HTML und das Versenden der Daten in einer sauber formatierten eMail. Die Optik des Formulars kann entweder über ein Stylesheet angepasst werden oder mittels eigener Template-Dateien nach persönlichen Bedürfnissen umgesetzt werden. DBD::Google DBD::Google [7] erlaubt es Ihnen, das Google-Verzeichnis als Datenquelle über das DBI-Modul zu verwenden. Bei einer Suchanfrage können Sie dazu SQL-Statements verwenden und so auf einfache Weise die gewünschten Inhalt für Ihre Anforderungen weiter verarbeiten. Dazu bedienen Sie sich der bekannten DBI-Syntax. Das Modul liefert alle notwendigen Informationen eines Suchergebnisses, darunter beispielsweise den Seitentitel, die URL, die Größe der gespiegelten Datei auf Google und etliches mehr. DBD::Google ist noch einfacher als das Google-API anzuwenden. Readonly Readonly [8] ist ein Modul, mit dem Sie Variablen erzeugen können, die dann nicht mehr überschrieben werden können. Über Zuweisungen können Sie damit auch komplexe Strukturen als readonly deklarieren. In Perl können Sie dazu zwar auch Konstanten verwenden, diese sind aber in manchen Fällen problematisch, was in der Dokumentation zu diesem Modul auch beschrieben wird. Calendar::Simple Calendar::Simple [9] ist ein einfaches Kalender-Modul, welches die Daten eines angefragten Monats in einem Array zurück gibt. Damit können Sie ohne großen Aufwand ein Kalenderblatt erzeugen. Aber auch für komplexe Anwendungen bietet dieses Modul eine angenehme Erleichterung für Kalenderdarstellungen. Acme::Test::Weather Die Acme-Reihe auf CPAN bietet nicht nur sinnlose Module, sondern ebenso durchaus nützliche wie beispielsweise Acme::Test::Weather [10]. Es zeigt Wetterinformationen für einen Anwender anhand seiner IP-Adresse an. Über eine ganze Reihe von Funktionen können Sie beispielsweise ermitteln, ob es in der Region des Anwenders gerade regnet, schneit oder die Sonne scheint. Kreative Programmierer erzeugen mit diesen Informationen innovative Anwendungen. File::Find::Rule::WellFormed Mit File::Find::Rule::WellFormed [11] können Sie in Ihrem Dokumentenbaum nach XML-Dateien suchen die wohl- oder nicht-wohlgeformt sind. Dies kann Ihnen die Suche nach fehlerhaften Dateien vereinfachen. MP3::M3U::Parser MP3::M3U::Parser [12] analysiert MP3-Playlisten. Dabei erhalten Sie als Rückgabewerte den Songtitel, die Dauer des Songs sowie die id3-Informationen. Das Ergebnis der Abfrage kann nun weiter bearbeitet werden oder in HTML oder XML als Datei exportiert werden. SQL::Translator Bei Ihrer täglichen Arbeit mit Datenbanken werden Sie diese sicherlich einmal von dem einen in an anderes Datenbankformat konvertieren müssen. SQL::Translator [13] erledigt diese Aufgabe für Sie und erzeugt eine SQL-Datei mit der aktuellen Datenbankstruktur für die gewünschte neue Datenbank und zwar in der typischen Syntax der Zieldatenbank. Auf diese Weise können Sie per Klick beispielsweise eine MySQL-Datenbank nach Oracle exportieren (Anlegen der Struktur). Wer viel mit Datenbanken arbeitet, wird dieses Modul sicherlich schnell schätzen lernen. Net::FTP::Recursive Net::FTP::Recursive [14] erweitert das Modul Net::FTP [15] mit der Möglichkeit, ganze Verzeichnisbäume rekursiv zu bearbeiten. Das Runter- und Hochladen von Dateien und Verzeichnissen wird auf diese Weis zum Kinderspiel. Methoden zum Löschen und Auslesen der Verzeichnisstruktur sind selbstverständlich ebenfalls enthalten. 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. Beispiel DBD::Google Das folgende Beispiel soll die Verwendung von DBD::Google verdeutlichen (es stammt aus der Dokumentation). Über die DBI-Schnittsttelle wird ein simulierter Datenbank-Connect zu Google hergestellt. Als Query übergeben Sie im WHERE-Teil den gewünschten Suchbegriff. Über die DBI-Methoden können Sie nun die Suche an Google absenden. Anschließend werden die gewonnenen Informationen über das Modul Text::TabularDisplay [16] (dieses Modul haben wir bereits in einer früheren Ausgabe vorgestellt) als ASCII-Tabelle dargestellt. Beachten Sie bei der Verwendung dieses Moduls, dass Sie eine gültige Google-API-Nummer [17] benötigen. #!/usr/bin/perl -wLinks
|
||
|