Christiane: Daten von anderen Servern holen

Hallo Ihr,

zwecks Aktualisierung meiner eigenen Text-DB versuche ich ein Perl-Skript zu schreiben, das "auf Knopfdruck" aktuelle Daten aus einer Reihe von Dateien auf mehreren Servern holt um sie anschliessend auf meinem Server zu speichen.

Dummerweise habe ich nicht bedacht, dass ich mit "open" keine URLs sondern nur normale Dateipfade verwenden kann. Hat jemand eine Idee, wie ich die Daten auf den Servern sonst auslesen kann?

Danke im voraus
Christiane

  1. Hallo Du,

    #!/usr/bin/perl
    use LWP::Simple;
    @lines = get("http://www.deinserver.de/daten.txt");

    nach dieser Aktion ist die Datei in @lines und Du kannst sie weiterbearbeiten.

    Unter http://www.teamone.de/selfaktuell/self_forum/27923.html habe ich noch ein anderes Beispiel.

    Für diese Aktionen bnötigst Du das Modul LWP (libwww genannt) und muß auf dem Server installiert sein. Es gehört soviel ich weiß zwar zu den Standardmodulen von Perl, wird aber nicht immer vom Provider installiert.

    Ansonsten gibt es im Forumsarchive schon jede Menge Threads.

    Hoffe geholfen zu haben

    Grüße HaPe =(Hansi) = (Hansi der Dankbare)

    1. Hallo selber!

      #!/usr/bin/perl
      use LWP::Simple;
      @lines = get("http://www.deinserver.de/daten.txt");

      Vorsicht! get liefert ein Skalar zurueck:
      $file = get("http://www.deinserver.de/daten.txt");

      Und wen ein Fehler auftrat, kommt undef zurueck:
      if (!defined($file)) { print STDERR "Could not fetch URL!" }

      Calocybe

      1. Hallo,

        Vorsicht! get liefert ein Skalar zurueck:
        $file = get("http://www.deinserver.de/daten.txt");

        Ich hab's mit einer Liste gemacht. Es funktioniert soweit.

        Und wen ein Fehler auftrat, kommt undef zurueck:
        if (!defined($file)) { print STDERR "Could not fetch URL!" }

        Das war neu. Danke!

        Gruß HaPe

        1. Hallo,

          Vorsicht! get liefert ein Skalar zurueck:
          $file = get("http://www.deinserver.de/daten.txt");
          Ich hab's mit einer Liste gemacht. Es funktioniert soweit.

          Und wen ein Fehler auftrat, kommt undef zurueck:
          if (!defined($file)) { print STDERR "Could not fetch URL!" }
          Das war neu. Danke!

          Gruß HaPe

          Vielen Dank Ihr drei, so klappt es prima und genau das habe ich gesucht.

          Gruß Christiane

  2. Hallo Christiane,
    falls du die Seite in einer Datei speichern willst, kannst du auch folgendes verwenden:

    use LWP::Simple;
    getstore($url, $datei);

    Die Seite ist dann unter dem bei $datei angegebenem Dateinamen gespeichert.

    Gruss
    Andreas