![]() |
|
URL dieses Artikels:
zu Ausgabe:
12.2003
Männersache ;-)
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/.
Data::Stag Data::Stag [1] hilft bei der Arbeit mit rekursiven Strukturen, wie Sie beispielsweise in verschachtelten Arrays oder XML-Dateien vorkommen. Das Modul dürfte für LISP-Programmierer ebenfalls interessant sein, da es Methoden für die Ausgabe in dieses Format bereithält. Zahlreiche Methoden, etwa für das Hinzufügen, Ändern und Löschen von Inhalten, sorgen für eine einfache Handhabung zahlreicher Aufgaben. DBIx::DBStag Das Modul DBIx::DBStag [2] setzt auf das zuvor beschriebene Data::Stag auf. Es wandelt die Inhalte aus einer Datenbank in ein Stag-Objekt um. Die so erzeugte Struktur kann nun weiterverarbeitet oder in ein XML-Dokument transformiert werden. Selbstverständlich funktioniert auch der umgekehrte Weg, eine gegebene Struktur in eine Datenbank zu schreiben. Für alle wichtigen Aufgaben sind einfach anzuwendende Funktionen vorhanden. DocSet DocSet [3] sorgt für Ordnung in Ihren Projekten, indem es dynamisch eine Projektdokumentation erzeugt. Dazu werden die im Quellcode beinhalteten Beschreibungen im POD-Format verarbeitet. Als weiteres Format können HTML-Dokumente eingelesen werden. Für die Ausgabe stehen Ihnen die Formate HTML, PS und PDF zur Verfügung. Die Optik der Dokumentation kann über Template-Dateien nach eigenen Bedürfnissen angepasst werden. Tk::ActivityBar Tk::ActivityBar [4] stattet Ihre Perl/TK-Anwendungen mit einem Fortschrittsbalken aus. Das Modul beinhaltet dazu alle Funktionen von Tk::ProgressBar und erweitert diese um eine Anzeige für die Berechnung des Fortschritts eines Vorgangs von unbekannter Dauer. Der Fortschrittsbalken kann als so genannte Progress-Bar oder als sich hin und her bewegende Anzeige eingebunden werden. Die Parameter für die Optik des Balkens, wie etwas Farbe und Größe, können bequem bei der Initialisierung des Objekts bestimmt werden. Tk::DBI::Table Tk::DBI::Table [5] ermöglicht Ihnen die Anzeige der Tabelleninhalte einer Datenbank. Dazu werden die Daten in einem Tabellen-Grid dargestellt, wobei die Feldnamen als Überschrift dienen. Die jeweiligen Zellen können per Maus vergrößert oder verkleinert werden. Per Klick auf einen Zellenkopf, kann die entsprechende Spalte absteigend oder aufsteigend sortiert werden. Aktive Zellen werden über einen eigenen Style optisch von den anderen Inhalten abgehoben. PDF::Reuse Falls Sie häufiger serienweise PDF-Dateien produzieren müssen, dann sollten Sie sich das Modul PDF::Reuse [6] näher ansehen. Über Template-Dateien können Sie damit eine große Anzahl an Dokumenten erzeugen. Bei der Entwicklung des Moduls wurde viel Wert auf die Geschwindigkeit in der Ausführung gelegt, weshalb selbst große Dateimengen in kürzester Zeit erzeugt werden. Um beispielsweise Formulareingaben zu überprüfen, können Sie JavaScript-Code in Ihren PDF-Dokumenten verwenden. Dank zahlreicher Methoden ist die Arbeit mit diesem Modul nach kurzer Zeit Routine. Data::Page Das Modul Data::Page [7] kann das Aufteilen Ihrer Suchergebnisse spürbar vereinfachen. Dazu übergeben Sie der Routine die Gesamtanzahl der Treffer, die gewünschten Treffer pro Seite und die aktuelle Seitennummer. Aus diesen Angaben werden nun allerlei nützliche Informationen berechnet. Über die Methoden des Moduls erhalten Sie dann einen Schlüsselwert, um beispielsweise die nächste Seite aufzurufen. Falls Sie Suchergebnisse über mehrere Seiten aufteilen möchten, sind Sie mit diesem Modul bestens bedient. Sie können damit beliebige Daten verarbeiten, ob Textdateien oder Datenbank spielt dabei keine Rolle. Acme::Playmate Acme::Playmate [8] ist wohl eher für uns Männer gedacht. Es kontaktiert den Server des Playboy-Magazins und kann hier auf Informationen eines bestimmten Playmates zugreifen. Dazu übergeben Sie dem Objekt lediglich das Erscheinungsdatum des Magazins (Monat, Jahr) für das Sie das Playmate abrufen möchten. Als Ergebnis erhalten Sie Daten wie den Namen, das Geburtsdatum oder die Oberweite des Models. Ob der Programmierer dieses Moduls hier wohl in erster Linie an seine eigenen Interessen gedacht hat? WWW::Bugzilla WWW::Bugzilla [9] stellt eine API zur Verfügung, mit der Sie Fehler, die Sie in einer aktuellen Version des Webbrowsers Mozilla gefunden haben, an die Bugzilla-Community weiter leiten können. Aber nicht nur das Mitteilen neuer Fehler ist mit diesem Modul möglich, Sie können auch bekannte Fehler über diese Schnittstelle aktualisieren. So kann beispielsweise der Status oder die Beschreibung auf einfache Weise verändert werden. Für ausführliche Fehlerprotokolle können Sie sogar Attachements nach Bugzilla übertragen. Nicht zuletzt durch die rege Beteiligung der User an diesem Projekt, schafft es die Mozilla-Community, einen ausgereiften Browser zu entwickeln. Helfen auch Sie mit Ihren Beiträgen dazu mit! Blog::Simple::HTMLOnly Blog::Simple::HTMLOnly [10] erzeugt ein Weblog, also eine Art virtuelles Tagebuch, mit dem Sie in chronologischer Reihenfolge Ihre täglichen Informationen auf Ihrer Webseite ausgeben können. Das Ausgabeformat ist dabei HTML, welches Sie auf Ihre Bedürfnisse anpassen können. Dabei kann das Blogformat zum Beispiel als Tabellengerüst oder im CSS-Format über das DIV-Tag dargestellt werden. Für die Arbeit mit diesem System sind alle wichtigen Aufgaben als Methoden vorhanden. Das Einfügen neuer Beiträge, das Editieren fehlerhafter Nachrichten oder das Löschen älterer Inhalte wird somit zum Kinderspiel. Term::StatusBar Term::StatusBar [11] ermöglicht die Ausgabe einer Fortschrittsanzeige im ASCII-Format in der Shell. So können Sie Aufgaben im Hintergrund durchführen und sich über die Anzeige den aktuellen Status des Programms anzeigen lassen. Die Optik und die Überschrift des Fortschrittbalkens werden über Methoden bestimmt. Für den Balken können Sie beliebige ASCII-Zeichen verwenden. 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 Tk::ActivityBar Das folgende Beispiel erzeugt eine einfache Tk-Anwendung, in der ein Fortschrittsbalken eingebunden ist. Über zwei Buttons können Sie die Funktionsweise des Moduls testen. Über die Methode geometry() erreichen Sie die Anzeige des Fensters in der Mitte des Bildschirms. Ein Klick auf den Button Activity aktiviert die animierte Anzeige. Der Button Increment bewirkt das Fortschreiten des Balkens bei jedem Klick. use Tk;Linksammlung
|
||
|