![]() |
|
URL dieses Artikels:
zu Ausgabe:
03.2003
Perlmutt
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/.
HTML::TableTiler Mit dem Modul HTML::TableTiler [1] erzeugen Sie ohne großen Aufwand komplexe Tabellenstrukturen. Die Daten für den Tabelleninhalt werden über ein mehrdimensionales Array gewonnen. Für die optische Anpassung stehen Ihnen eine Reihe von Parametern zur Verfügung, welche die Formatierung Ihrer Tabelle steuern können. Data::CGIForm Eine neue Möglichkeit, Daten aus Formulareingaben auszulesen, bietet das Modul Data::CGIForm [2]. Über einen Hash definieren Sie mittels Regulärer Ausdrücke die Regeln für die jeweiligen Formularelmente. Zu jeder Regel kann eine eigene Fehlermeldung zugewiesen werden. Das Modul liefert für die Erstellung der Regeln einige nützliche Funktionen, die beispielsweise die übergebenen Daten in Kleinbuchstaben konvertieren oder alle Leerzeichen entfernen. Eine durchaus interessante Alternative zum gängigen CGI-Modul. File::ReadBackwards File::ReadBackwards [3] wurde entwickelt, um Dateien zeilenweise rückwärts einzulesen. Verwendung findet das Modul beispielsweise zum Einlesen und Auswertung von Logdateien, welche die neuesten Daten typischerweise am Ende der Datei speichern. Standardmäßig erwartet das Modul den üblichen Zeilenumbruch als Zeilenseparator. Für exotischere Dateien können Sie aber auch einen individuellen Zeilentrenner verwenden, indem Sie diesen bei der Initialisierung des Objekts angeben. File::Iterator Den Inhalt von Verzeichnissen können Sie mit dem Modul File::Iterator [4] komfortabel auslesen. Dies kann bei Bedarf auch rekursiv über alle Unterebenen eines Verzeichnisses erfolgen. Das Modul erzeugt ein Array aus allen Dateien innerhalb des definierten Verzeichnisses. Um bestimmte Dateinamen zu Filtern, können Sie eine Regel für das Einlesen der Daten mittels Regulärer Ausdrücke definieren. Text::Quoted Das Modul Text::Quoted [5] liest die Struktur von zitierten Nachrichten einer eMail in einen Hash ein. Als Ergebnis erhalten Sie eine Struktur, die als Information für jede Zeile den Text, das Zitatzeichen (z.B. >, #) sowie die übergeordnete Zeile (bei verschachtelten Zitaten) beinhaltet. Über die Hash-Struktur lassen sich die so gewonnenen Daten auf einfache Weise weiterverarbeiten. GD::Graph3D Mit GD::Graph3D [6] erzeugen Sie dreidimensionale Diagramme. Das Modul setzt auf GD::Graph auf und stellt Funktionen zum Erzeugen von Kuchen-, Balken- und Liniendiagrammen bereit. Die jeweiligen Diagramme werden gemäß der Originalsyntax initialisiert und beinhalten alle Möglichkeiten von GD::Graph zur Darstellung der Grafiken. Acme::DoubleHelix Die Module aus der Acme-Reihe sind bekannt für die verrückten Ideen ihrer Autoren, so auch Acme::DoubleHelix [7]. Damit können Sie Ihren Quellcode soweit verfremden, dass der Inhalt im so genannten Double-Helix Format (lassen Sie sich überraschen) dargestellt wird. Beim ersten Aufruf des Skripts wird dieses entsprechend verschlüsselt und kann dann wie vorgesehen weiter verwendet werden. RTF::Writer Das Erzeugen von RTF-Dateien gestaltet sich mit dem Modul RTF::Writer [8] recht einfach. Zahlreiche Methoden und Funktionen helfen, komplexe Dateien in diesem Format zu erzeugen. Eine umfangreiche Dokumentation sowie ein enthaltenes Kochbuch helfen bei der Einarbeitung in dieses praktische Modul. cpan2rpm Mit dem Programm cpan2rpm [9] erstellen Sie ein RPM-Package aus einem Perl-Modul. Es verwendet die gängige Struktur von RPM-Dateien und erzeugt alle relevanten Daten. Alle möglichen Parameter dieser Dateien können über zahlreiche Optionen beim Programmaufruf gesteuert werden. Net::Ping Mit Net::Ping [10] können Sie einen Host auf dessen Erreichbarkeit überprüfen. Das Modul stellt für diesen Test die folgenden Protokolle zur Verfügung: tcp, udp, icmp, external und syn. Etliche nützliche Funktionen sorgen für effizientes Arbeiten mit dem Ping-Befehl. Ein zusätzliches Skript ermöglicht es Ihnen, mehrere Hosts gleichzeitig zu überprüfen. WWW::EuroTV Das Modul WWW::EuroTV [11] kann Informationen von Fernsehprogrammen bestimmter Sender über den Dienst www.eurotv.com/ beziehen. Dazu werden einfach der gewünschte Sender sowie das Sendedatum übergeben. Als Ergebnis erhalten Sie eine Liste aller gefundenen Programme mit deren Titel, Sendezeit und Beschreibung. Der Service bietet auch deutsche Fernsehprogramme an. release release [12] kann Dateien auf den CPAN-Server oder auf SourceForge übertragen. Dadurch können Sie die Veröffentlichung Ihrer Distributionen automatisieren. Über eine Konfigurationsdatei können Sie die Verhaltensweise des Programms steuern. Image::WorldMap Mit diesem Modul erstellen Sie eine grafische Weltkarte, auf der Sie bestimmte Örtlichkeiten markieren können. Auf diese Weise ist es beispielsweise möglich, eine Weltkarte mit allen Niederlassungen einer Firma auszugeben. Image::WorldMap [13] stellt Methoden zur Verfügung, um die Markierungen in gewünschten Farben und mit einem entsprechenden Label darzustellen. Eine Markierung wird über den Längen- und Breitengrad der entsprechenden Örtlichkeit eingetragen. Das Modul wird mit einer in der Größe angepassten Grafik für die Weltkarte geliefert. Auf der Seite des Autoren können weitere Karten in andern Formaten geladen werden. XML::Mini XML::Mini [14] ermöglicht das Lesen, Schreiben und Bearbeiten von syntaktisch korrektem XML. Dieses Modul arbeitet mit eigenen Routinen und benötigt keine weiteren Module für die Arbeit. Es beinhaltet Methoden zum Entfernen von Leerzeichen und das Umwandeln von Eingaben in Kleinbuchstaben sowie zur automatischen Konvertierung von Zeichen in ein XML-taugliches Format. Das folgende Beispiel erzeugt eine HTML-Datei in korrekter Syntax und soll die Arbeitsweise von XML::Mini verdeutlichen. Das Modul bietet weitaus mehr Methoden und Funktionen zur Bearbeitung von XML-Daten als wir hier verwenden. Über die in der Distribution beiliegenden APIs erhalten Sie ausführliche Informationen zu den gebotenen Möglichkeiten. Listing 1 # XML erzeugen und mit Inhalt füllenLinks
|
||
|