fellows: kann keine datei per perl script erstellen

Hallo zusammen,
ich habe ein kleines Problem. Ich will per Perl Script eine neue Textdatei erstellen. Allerdings bekomme ich nur die Fehlermeldung das ich keinen Zugriff habe ! Per FTP kann ich allerdings ohne Probleme Dateien erstellen.

mein script lautet:
##################################################################
#! /bin/perl -w

sub stirb() {
print "<H2>URKS</H2>\n";
print "Geht nicht\n";
exit 1;
}

print "Content-type: text/html\n\n";
print "<html>\n<head>\n<title>'Perl Test</title>";
print "</head>";
print "<body>\n";
print "<font face="Arial"><center>Perl Test<br>\n";

open(FILE,">test.log") &stirb('URKS');
print "Geht";

print "</center></font>\n";
print "</body>\n";
print "</html>\n";

kann mir da jemand weiterhelfen ? ich möchte daten per formular erfassen und diese dann an ein script schicken welches eine datei
erstellt.

Danke im voraus
Michael

  1. Hallo,

    du solltest die Datei auch schliessen, die Du zum schreiben öffnest. Vielleicht liegts ja nur daran.

    open(FILE,">test.log") &stirb('URKS');
    ....
    close(FILE);

    Gruss
    Philipp

    ##################################################################
    #! /bin/perl -w

    sub stirb() {
    print "<H2>URKS</H2>\n";
    print "Geht nicht\n";
    exit 1;
    }

    print "Content-type: text/html\n\n";
    print "<html>\n<head>\n<title>'Perl Test</title>";
    print "</head>";
    print "<body>\n";
    print "<font face="Arial"><center>Perl Test
    \n";

    open(FILE,">test.log") &stirb('URKS');
    print "Geht";

    print "</center></font>\n";
    print "</body>\n";
    print "</html>\n";

    kann mir da jemand weiterhelfen ? ich möchte daten per formular erfassen und diese dann an ein script schicken welches eine datei
    erstellt.

    Danke im voraus
    Michael

    1. open(FILE,">test.log") &stirb('URKS');
      ....
      close(FILE);

      Die Fehlermeldung kommt schon wenn ich die Datei öffne, daran liegt
      leider auch nicht, trotzdem vielen dank !

      Michael

      1. hallo,

        es liegt wahrscheinlich daran, daß der Webserver nicht unter Deinem FTP-User läuft (ist meist so) und daß der Webserver-User eben keine Dateien schreiben darf.
        wenn dem so ist, dann kannst Du nur mit Deinem ISP reden, ob er Dir das erlaubt. Das ist aber ziemlich fraglich, bei unseren ISP's ist es oft so, daß wenn er es erlaubt, dann nur, wenn er das script zuerst durchsieht, und dann gegebenenfalls so installiert, daß der FTP-User es nicht mehr überschreiben kann.
        Sonst bist Du ziemlich machtlos.
        es ist normalerweise auch gut so, weil wie würde es Dir gefallen, wenn irgendein Kollege, der zufälligerweise auf dem gleichen Server, der auch Deine Seiten hostet, ein Perl-Script installiert, daß Amok läuft und Deine Seiten überschreibt, oder den Server mit Schrott zumüllt, oder was weis ich noch alles anstellt.
        (wobei ich jetzt sicherlich nicht irgendjemandem Absicht unterstelle. Aber wer schon mal programmiert hat, der weiß daß immer irgendetwas schief gehen kann).

        Also rede mit Deinem ISP

        schönen tag auch noch
        klaus

  2. Hallo Michael!

    Allerdings bekomme ich nur die Fehlermeldung das ich keinen Zugriff habe !

    Dein Script läuft vermutlich nicht unter Deiner UserID sondern unter (zB. nobody). Also muß auch nobody in dem Verzeichnis schreiben können (Schreibrecht für "other"). Also muß das Verzeichnis auch die Rechte 766 haben, oder eben 777, wenn dort auch die Scripts liegen.

    Per FTP kann ich allerdings ohne Probleme Dateien erstellen.

    Da bist Du unter Deiner ID eingeloggt, d.h. wenn das Verzeichnis die Rechte 755 hat, kannst Du als Eigentümer des Verzeichnisses schreiben, lesen und ausführen, alle anderen können nur lesen und ausführen.

    Gruß Frank

    1. Hey,
      hab ich beides schon versucht, keine Chance !!!

      Michael