wannabeapro: Mit Open auf anderen Server verweisen

Guten Morgen

Ich versuche ein Perl-Script welches eingesetzt wird zum Herunterladen von bestimmten Dateien und Speicher auf einem Server genutzt wird zu optimieren.

Speziell wird derzeit auf ein gemapptes Netzlaufwerk verwiesen... dies möchte ich gerne entweder auf die Server-IP oder den DNS Eintrag des Servers ändern um Fehler bei zukünftigen Änderungen zu vermeiden.

Also derzeit sieht der Befehl wie folgt aus:

  
open(FILE, "> U:/test.txt");  

Ich habe es mit folgenden Konstrukten recht erfolglos probiert:

  
open(FILE, "> 192.192.192.1/test.txt");  

und

  
open(FILE, "> \\SERVER-NAME/test.txt");  
  

hat beides nicht geklappt... habt ihr eine Lösung?

schön Gruß
wanna

  1. Bounjoun wannabeapro,

    open(FILE, "> \SERVER-NAME/test.txt");

      
    Ich gehe davon aus, dass Du unter Windows arbeitest? »hosts«-Datei entsprechend angepasst? Dann dürfte es reichen, die Backslashs zu maskieren:  
      
    `my $file = "\\\\SERVER\\test.txt";`{:.language-perl}  
      
      
    Adiou.
    
    -- 
    Ich bin eigentlich ganz anders, aber ich komme so selten dazu. - Ödön von Horwáth
    
  2. Also derzeit sieht der Befehl wie folgt aus:

    open(FILE, "> U:/test.txt");

      
    Hoffentlich mit einer entsprechenden Fehlerprüfung und open mit drei Parametern zu verwenden ist sicherer.  
      
    
    > Ich habe es mit folgenden Konstrukten recht erfolglos probiert:  
    >   
    > ~~~perl
      
    
    > open(FILE, "> 192.192.192.1/test.txt");  
    > 
    
    

    open öffnet Dateien, keine Netzverbindungen, dafür gibt es zahlreiche Module. Eine Datei über http, bekommst du am einfachsten mit dem Modul LWP::Simple

    open(FILE, "> \SERVER-NAME/test.txt");

      
    Mit Windowsnetzwerken kenn' ich mich nicht aus. Aber ich hab' kurz gesucht, vielleicht hilft das ja: <http://www.perl-community.de/bat/poard/thread/12682>  
      
    
    > hat beides nicht geklappt... habt ihr eine Lösung?  
      
    "Nicht geklappt" - ist so eine Fehlerbeschreibung, die niemanden weiterhilft. Du solltest zukünftig eine Fehlermeldung nennen und beschreiben was du versucht hast. Das wäre für die, die dir helfen sollen dein Problem zu lösen unter umständen hilfreich.  
      
    Struppi.
    
  3. Moin,

    Speziell wird derzeit auf ein gemapptes Netzlaufwerk verwiesen... dies möchte ich gerne entweder auf die Server-IP oder den DNS Eintrag des Servers ändern um Fehler bei zukünftigen Änderungen zu vermeiden.

    Ein UNC-Pfad ist: //rechnername/freigabename

    Dazu nimm den Dateinamen wie folgt:
    my $file = "//v2/transfer/x.txt";

    Dann kannst Du direkt auf die Datei zugreifen:

      
    open FH, ">$file";  # möglichen Fehlerfall der open() prüfen!!  
    print FH "hello\n";  
    close FH;  
    
    

    Und siehe auch Struppi.

    Hotti

    1. Moin,

      Speziell wird derzeit auf ein gemapptes Netzlaufwerk verwiesen... dies möchte ich gerne entweder auf die Server-IP oder den DNS Eintrag des Servers ändern um Fehler bei zukünftigen Änderungen zu vermeiden.

      Für NetBios-Namen ist der Lanmanager zuständig (lmhosts Datei).

      Hotti

  4. Hey,

    die Antwort von Hotti hat schon den erwünschten Effekt gehabt...

    hät ich auch selber drauf kommen können -.-

    Vielen Dank für eure Hilfestellung

    Gruß
    Wanna