Wie ich an den Zugriffszahlen meines Beitrages zu LWP::Simple gesehen habe, suchen offenbar viele nach einer Beschreibung oder Beispielen zu LWP::Simple.
Ich habe deswegen hier mal kurz die englische Beschreibung zu LWP::Simple ins Deutsche übersetzt.
(hier ist das Original in Englisch)
LWP::Simple - Ein einfaches Interface zu LWP
Beschreibung
LWP::Simple ist für Menschen gedacht, die einen einfachen Zugriff auf die libwww-perl-Library benötigen.
Außerdem ist LWP::Simple auch für Einzeiler, zum Beispiel in der Kommandozeile, gedacht.
Für mehr Kontrolle oder einen Zugriff auf die Header-Felder bei Zugriffen oder Abfragen sollte jedoch das komplette, objektorientierte LWP::UserAgent-Modul verwendet werden.
Folgende Funktionen werden von LWP::Simple unterstützt
get($url)
Holt ein Dokument anhand seiner URL und gibt es zurück.
Im Falle eines scheiterns wird ein undef zurückgegeben
Die URL kann als String oder als Referenz zu einem URI-Objekt angegeben werden.
Es ist nicht möglich, Header (z.B. Content-Type) des abgefragten Dokumentes oder Statuscodes auszulesen. Wenn man diese Informationen benötigt, sollte man zu LWP::UserAgent greifen.
head($url)
Der Kopf des Dokumentes. Es werden die 5 Werte $content_type, $document_length, $modified_time, $expires, $server im Erfolgsfall einer Abfrage zurückgegeben.
Im Mißerfolgsfall wird eine leere Liste zurückgegeben.
getprint($url)
getprint holt ein Dokument und schreibt es in ein vorgegebenes Filehandle, per default zu STDOUT.
Im Fehlerfall wird der Statuscode nach STDERR geschrieben.
Der Returnwert ist der HTTP-Statuscode.
getstore($url, $file)
Ruft ein Dokument ab und speichert es in eine Datei.
Der Return-Wert ist der HTTP-Statuscode.
mirror($url, $file)
Holt und speichert ein Dokument, falls ein If-modified-since und die Dokumenten-Länge sich verändert haben.
Gibt den Http-Statuscode zurück.
Dieses Modul gibt zusätzlich die HTTP::Status-Konstanten und -Funktionen.
Anhand dieser kann man einfach die Rückgabewerte von getprint(), getstore() or mirror() prüfen.
Diese Konstanten sind:
Dieses Modul exportiert falls gewünscht das LWP::UserAgent-Object als $ua.
Vorsicht
Falls man das LWP::Simple und das CGI.pm-Modul gleichzeitig benutzt, werden möglicherweise von beiden Modulen die head-Funktionen importiert. Angezeigt wird dann die Warnung ""Prototype mismatch: sub main::head ($) vs none".
Umgehen kann man das Problem, indem man LWP::Simple's head() nicht importiert, etwa so:
use LWP::Simple qw(!head);
use CGI qw(:standard); # dann definiert nur CGI.pm head()
Falls Sie das head() von LWP::Simple benötigen, kann es auch direkt per LWP::Simple::head($url) aufgerufen werden.
So, das war etwas frei übersetzt die Beschreibung von LWP::Simple.
Aber was da noch zu sagen wäre
Ich habe hier bereits beschrieben, daß LWP::Simple 180 Sekunden wartet, falls der Zielserver down ist. Wer das nicht möchte, kann ebenfalls hier darüber nachlesen, wie man das umgehen kann.