Links leuchten
Enthält eine Messenger-Logdatei eine oder mehrere URLs, ist sie besonders wertvoll für spätere Suchaufgaben. Listing 1 nutzt das Modul URI::Find vom CPAN, um URLs im Klartext des Chats aufzustöbern. Der Konstruktor erhält eine Callback-Funktion als Argument, die einen leeren String zurückgibt, damit die später mit einer Referenz auf den Nachrichtenstring aufgerufene Methode »find()« die gefundenen URLs für die Textanalyse aus dem Text entfernt.
Ist die Anzahl der gefundenen URLs größer als null, bekommt die Subject-Zeile ein »*L*« (für Link) vorangestellt (siehe Abbildung 4). Auf diese Weise ist bei mehreren angezeigten Logdateien im E-Mail-Client später sofort klar, welche die kostbaren Links enthalten. Damit die Logs auch als E-Mail gut lesbar sind, setzen das Modul Text::Wrap und dessen Funktion »fill()« in Zeile 113 den Fließtext der Einzelnachrichten auf eine Zeilenlänge von 70 Zeichen in Blocksatz fest. Hierzu muss das Skript »$Text::Wrap::columns« modifizieren.

|
Abbildung 4: Der E-Mail-Client sieht auf dem IMAP-Server alle abgeschlossenen Messaging-Sessions. Die Subject-Zeile der fünften Session zeigt mit »*L*« den Austausch einer URL an.
|

|
Abbildung 5: Auch der Text der Session ist verfügbar, wenn der Email-Client die E-Mail aufklappt. Überhaupt lassen sich die gespeicherten Konversationen auf diese Weise wie Mails behandeln.
|
Die Funktion »chat_process()« gibt insgesamt drei Werte zurück: die vorgeschlagene Subject-Zeile der auszusendenden E-Mail, den neu formatierten Text und den Anfangszeitpunkt des Chats in Unix-Sekunden. Die Funktion »imap_add()« ab Zeile 165 formt daraus einen Mailheader und fügt die fabrizierte E-Mail mit der Methode »append()« des CPAN-Moduls IMAP::Client an den Ordner »im_mailbox« des IMAP-Servers an. Der Abschnitt "Installation" am Schluss des Artikels beschreibt später, wie dieses Verzeichnis auf dem IMAP-Server angelegt wird.
Zu Anfang schaltet der IMAP::Client mit »onfail(\'ABORT\')« in den Raise-Error-Modus, in dem jeder Fehler eine Exception auslöst, die zum sofortigen Abbruch des Skripts führt. So spare ich mir die Prüfung der Rückgabewerte der einzelnen Methoden. Wer nicht will, dass der Daemon deswegen schon aufgibt, kann die Exceptions mit »eval« abfangen und entsprechend darauf reagieren.
IMAP-Server kontaktieren
Die Verbindung mit dem IMAP-Server stellt die Methode »connect()« in Zeile 57 her. Im Skript ist »localhost« der Server, denn auf dem Perlmeister-Rechner läuft der IMAP-Server Dovecot. Genau so ist aber auch eine Verbindung mit jedem anderen Mailserver im Internet möglich. Zeile 61 übermittelt mit »authenticate()« den Usernamen und das Passwort des Unix-Nutzers, der dem IMAP-Server ebenfalls unter diesen Credentials bekannt ist. Die Passworteingabe steuert die Funktion »password_read()« in Zeile 29 aus dem unerschöpflichen Fundus des CPAN-Moduls Sysadm::Install.
Das Finden und Parsen der Gaim-Logs erledigen die beiden CPAN-Module Gaim::Log::Finder und Gaim::Log::Parser, die dem Anwender lästiges Datei- und Textgefummle abnehmen und Methoden für den Zugriff auf Dateien, Sender, Empfänger, Datum und ausgetauschte Nachrichten anbieten. So iteriert »chat_process()« mit »$parser->next_message()« über alle Nachrichtenstücke eines Logfile und erhält jedes Mal ein Objekt vom Typ »Gaim::Log::Message«. Dieses bietet wiederum mit den Methoden »date()«, »from()«, »to()« und »content()« Zugriff auf das Datum, die Gesprächspartner und den Text der Kurznachricht.
| Whitepaper |
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|