xNeTworKx: Verzeichnisinhalte von anderem Server bekommen ?

Hallo ,
Ich hab da eine Frage, und zwar hab ich da ein kleines Script, das mir alle Textdateien im Verzeichnis einliest und am Bildschirm ausgibt. Jetzt hab ich mich gefragt wie ich es ändern könnte, wenn das Script auf einem Server is (oder zumindest in einem anderen Verzeichnis).
Um die Daten von einem anderen Server zu holen hab ich an das LWP::Simple Modul gedacht, aber komm leider nicht drauf wie ich es einsetzen könnte.
Also ich wäre froh wenn ich zumindest mal weis, wie ich ein anderes Verzeichnis nach .txt Dateien abfragen kann. Es hat glaub ich etwas mit opendir zu tun, aber in meinem Buch is das leider etwas schlecht beschrieben, deswegen wollt ich mal fragen ob jemand da bescheit weis? Hier nun das Script :

#!/usr/bin/perl -w

use CGI qw(:standard);

@dateien = "";
@dateiinhalt = "";

print header;
@dateien = glob "*text*";

foreach $keys(@dateien)  {
  open (DATEI,"$keys") or die "Konnte $keys nicht oeffnen : $!\n";
  @dateiinhalt = <DATEI>;
  @dateiinhalt = reverse @dateiinhalt;
  ($letzte_zeile, @textdaten) = @dateiinhalt;
  @textdaten = reverse @textdaten;

foreach $zeile(@textdaten)   {
      $zeile =~ s/\n/<br>/;
      print "$zeile\n";
      }
   print "$letzte_zeile<br>\n";
   print '*' x 20, "<br>\n";
   close DATEI;
}

  1. Hallo,

    Ich hab da eine Frage, und zwar hab ich da ein kleines Script, das mir alle Textdateien im Verzeichnis einliest und am Bildschirm ausgibt. Jetzt hab ich mich gefragt wie ich es ändern könnte, wenn das Script auf einem Server is (oder zumindest in einem anderen Verzeichnis).

    Um die Daten von einem anderen Server zu holen hab ich an das LWP::Simple Modul gedacht, aber komm leider nicht drauf wie ich es einsetzen könnte.

    Was genau verstehst du an perldoc LWP::Simple nicht?

    BTW: LWP::Simple setzt HTTP-Requests ab; HTTP ist nicht geeignet das Filesystem eines Remoteservers zu durchsuchen. Dafür benötigst du FTP o.ä. zzgl. des entsprechenden Zugangs.

    Also ich wäre froh wenn ich zumindest mal weis, wie ich ein anderes Verzeichnis nach .txt Dateien abfragen kann. Es hat glaub ich etwas mit opendir zu tun, aber in meinem Buch is das leider etwas schlecht beschrieben,

    Im Zweifel nimm das beiligende Perl-Buch:

    perldoc -f opendir
    (ff.)
    perldoc -f -x

    Gruß Kai

    1. Danke euch beiden, habs letztendlich mit opendir gemacht.
      Tja das mit dem LWP::Simple hab ich wohl falsch verstanden, ich hab geglaubt man kann dadurch jeden Inhalt von Dateien einlesen =)

  2. Hallo ,
    Ich hab da eine Frage, und zwar hab ich da ein kleines Script, das mir alle Textdateien im Verzeichnis einliest und am Bildschirm ausgibt. Jetzt hab ich mich gefragt wie ich es ändern könnte, wenn das Script auf einem Server is (oder zumindest in einem anderen Verzeichnis).

    Das sind zwei verschiedene Dinge:

    1. Im anderen Verzeichnis - da hat der gleiche Server, der das Skript ausführt, ja noch Zugriff drauf (sofern es durch Dateirechte nicht verboten ist), und der Zugriff geschieht über das lokale Dateisystem.

    2. Auf anderem Server: Da müssen grundsätzlich zwei Maschinen kommunizieren.

    Um die Daten von einem anderen Server zu holen hab ich an das LWP::Simple Modul gedacht, aber komm leider nicht drauf wie ich es einsetzen könnte.

    Vergiß es. LWP-Simple funktioniert nicht, zumindest nicht so, wie du es dir denkst, sondern verwendet HTTP-Zugriffe auf Webserver. Wenn du mit einem Browser das Verzeichnis listen kannst, kannst du mit LWP:Simple genau dieselbe HTML-Datei kriegen, parsen und verwenden. Das erfordert aber, daß dein Script HTML versteht, zumindest so rudimentär, daß es die Textauflistung des Verzeichnisses versteht.

    Also ich wäre froh wenn ich zumindest mal weis, wie ich ein anderes Verzeichnis nach .txt Dateien abfragen kann. Es hat glaub ich etwas mit opendir zu tun, aber in meinem Buch is das leider etwas schlecht beschrieben, deswegen wollt ich mal fragen ob jemand da bescheit weis? Hier nun das Script :

    Dateien im anderen Verzeichnis lesen:
    Beispiel:
    #!/usr/local/bin/perl -w

    opendir(DIR,"perl");
    while($datei = readdir(DIR))
      {
        print $datei."\n"

    oder hier die Datei $datei öffnen und auslesen...

    }
    closedir(DIR);

    Ein guter Tipp: Lies dir mal dieses Perl-Tutorial durch, da sind viele dieser netten Beispiele drin: http://www.phy.uni-bayreuth.de/~btpa25/perl/perl_main.html

    - Sven