Wie erhalte ich den gesamten Pfad?
Werner
- perl
Hallo,
der nachfolgende open meldet "unable to open ./Sources/cook.txt ...., obwohl die das Unterverzeichnis vorhanden ist.
Offensichtlich aber nicht in dem Verzeichnis, das das fopen erwartet.
Wie kann ich herausfinden in welchem Gesamtpfad fopen sucht?
fopen(COOKFILE, ">./Sources/cook.txt")
Danke Werner
der nachfolgende open meldet "unable to open ./Sources/cook.txt ...., obwohl die das Unterverzeichnis vorhanden ist.
Offensichtlich aber nicht in dem Verzeichnis, das das fopen erwartet.
Wie kann ich herausfinden in welchem Gesamtpfad fopen sucht?
fopen(COOKFILE, ">./Sources/cook.txt")
Das kann bedeuten, dass es in deinem cörrent wörking directory kein /Sources/cook.txt gibt, oder die Rechte nicht ausreichen.
Vielleicht willst du erstmal ermitteln, was dein CWD ist:
http://perldoc.perl.org/Cwd.html
mfg Beat
Hi,
Vielleicht willst du erstmal ermitteln, was dein CWD ist:
http://perldoc.perl.org/Cwd.html
Das ist c:\XAMPP.
Warum?
Das Perl-Programm steht in d:/test/cgi-bin/
Deshalb nahm ich an, dass relative Pfadangaben auf diesen Pfad bezogen werden.
Was ist dann dies für ein Verzeichnis, wenn nicht das CWD?
Gruß
Werner
Vielleicht willst du erstmal ermitteln, was dein CWD ist:
http://perldoc.perl.org/Cwd.html
Das ist c:\XAMPP.
Willkommen in der schlechtest möglichen perl Installation.
Warum?
Das Perl-Programm steht in d:/test/cgi-bin/
Deshalb nahm ich an, dass relative Pfadangaben auf diesen Pfad bezogen werden.
Deine Annahme ist berechtigt, sofern nicht eine beschissen Installation wie XAMPP vorliegt.
Was ist dann dies für ein Verzeichnis, wenn nicht das CWD?
Frag' das die Entwickler von XAMPP. Ich empfehle dir einstweilen die ActivePerl Distribution für Windows.
mfg Beat
Deine Annahme ist berechtigt, sofern nicht eine beschissen Installation wie XAMPP vorliegt.
Was ist dann dies für ein Verzeichnis, wenn nicht das CWD?
Frag' das die Entwickler von XAMPP. Ich empfehle dir einstweilen die ActivePerl Distribution für Windows.
Das will ich gerne versuchen.
Gefunden habe ich
"ActivePerl ist ein kostenloser Perl-Interpreter für Windows"
Läuft der dann ebenfalls unter dem Server Apache oder wie ist die Infrastruktur zur Simulation des Internets auf dem eigenen Rechner?
Danke
Werner
Gefunden habe ich
"ActivePerl ist ein kostenloser Perl-Interpreter für Windows"
Läuft der dann ebenfalls unter dem Server Apache oder wie ist die Infrastruktur zur Simulation des Internets auf dem eigenen Rechner?
Na siehste, da ist deine Fehlkonzeption:
Ja, wenn der Apache unter Windows läuft, dann läuft auch Perl.
Es ist eine Frage der Apache Konfiguration. Ich weiss nicht was XAMPP dort hin schreibt. Ich habe meinen Apache auch separat installiert.
Falls du ActivePerl installierst, hast du zusammen mit XAMPP zwei Perl Installationen. Das stellt die Frage, welches Perl aufgerufen wird.
Falls dein Shebang lautet:
#!/perl
so ist ein Registry Eintrag dafür zuständig.
Es kann helfen, kurz selbst ein normales Script (kein CGI) mit der neuen Installation öffen zu lassen.
mfg Beat
Gefunden habe ich
"ActivePerl ist ein kostenloser Perl-Interpreter für Windows"
Läuft der dann ebenfalls unter dem Server Apache oder wie ist die Infrastruktur zur Simulation des Internets auf dem eigenen Rechner?Na siehste, da ist deine Fehlkonzeption:
Ja, wenn der Apache unter Windows läuft, dann läuft auch Perl.
Es ist eine Frage der Apache Konfiguration. Ich weiss nicht was XAMPP dort hin schreibt. Ich habe meinen Apache auch separat installiert.Falls du ActivePerl installierst, hast du zusammen mit XAMPP zwei Perl Installationen. Das stellt die Frage, welches Perl aufgerufen wird.
Falls dein Shebang lautet:
#!/perlso ist ein Registry Eintrag dafür zuständig.
Es kann helfen, kurz selbst ein normales Script (kein CGI) mit der neuen Installation öffen zu lassen.
Sei mir nicht böse - aber ich verstehe nur Bahnhof.
Also bisher habe ich ActivePerl nicht installiert sondern nur Apache und XAMPP.
Damit konnte ich auch schön mein HTML und meine CGI-Programme testen.
Jetzt machte nur das Yabb-Setup.pl Programm Probleme mit dem im Ursprungsbeitrag genannten falschen Verzeichnis.
Werner
Also bisher habe ich ActivePerl nicht installiert sondern nur Apache und XAMPP.
Das Problem bei XAMPP ist, dass die Perl integration nur rudimentär sind (oder waren, ich bin kein Experte von XAMPP). Du brauchst aber, wenn du mit Perl arbeiten willst, eine Version, mit der du auch CPAN Module installieren kannst und updates ausführen.
Es sollte aber kein Problem sein, ein ActivePerl oder strawberry Perl (das mittlerweile von vielen Perlern unter windows mehr geschätzt wird) dort zu integrieren. Allerdings musst du dich dann mit der Apachekonfiguration auseinandersetzzen.
Jetzt machte nur das Yabb-Setup.pl Programm Probleme mit dem im Ursprungsbeitrag genannten falschen Verzeichnis.
Ich finde das ist nach wie vor nicht wirklich geklärt. Was war denn noch mal die Ausgabe von cwd?
Struppi.
Jetzt machte nur das Yabb-Setup.pl Programm Probleme mit dem im Ursprungsbeitrag genannten falschen Verzeichnis.
Ich finde das ist nach wie vor nicht wirklich geklärt. Was war denn noch mal die Ausgabe von cwd?
Nach dem Beitrag von Alexander lasse ich lieber die Finger davon!
Danke für die Hilfen
fopen(COOKFILE, ">./Sources/cook.txt")
Bist du sicher, dass wir von Perl sprechen?
Der Befehl heißt eigentlich open und du kannst dir auch den Grund ausgeben lassen:
open(COOKFILE, '>', "./Sources/cook.txt") or die "Grund: $!"
Ich vermute aber eher ein Rechteproblem oder du bist auf einem System, dass Groß- und Kleinschreibung unterscheidet.
Struppi.
Hi,
fopen(COOKFILE, ">./Sources/cook.txt")
Bist du sicher, dass wir von Perl sprechen?
Ja, es handelt sich um das YaBB (Yet another bulletin board), das ich installieren möchte
Der Befehl heißt eigentlich open und du kannst dir auch den Grund ausgeben lassen:
open(COOKFILE, '>', "./Sources/cook.txt") or die "Grund: $!"
Ich vermute aber eher ein Rechteproblem oder du bist auf einem System, dass Groß- und Kleinschreibung unterscheidet.
Ich teste unter XAMPP (keine Rechteprobleme) und Groß-Kleinschreibung ist auch in Ordnung
fopen(COOKFILE, ">./Sources/cook.txt")
Bist du sicher, dass wir von Perl sprechen?
Ja, es handelt sich um das YaBB (Yet another bulletin board), das ich installieren möchte
Oh, das gibt es noch. Trotzdem ist fopen kein Perl.
Der Befehl heißt eigentlich open und du kannst dir auch den Grund ausgeben lassen:
open(COOKFILE, '>', "./Sources/cook.txt") or die "Grund: $!"
Hast du das mal probiert?
Ich vermute aber eher ein Rechteproblem oder du bist auf einem System, dass Groß- und Kleinschreibung unterscheidet.
Ich teste unter XAMPP (keine Rechteprobleme) und Groß-Kleinschreibung ist auch in Ordnung
Dann solltest du den Tipp von Beat mal nachgehen, das klingt plausibel.
Struppi.
Ja, es handelt sich um das YaBB (Yet another bulletin board), das ich installieren möchte
Oh, das gibt es noch. Trotzdem ist fopen kein Perl.
Gibte es aktuellere - möglichst in Perl?
open(COOKFILE, '>', "./Sources/cook.txt") or die "Grund: $!"
Hast du das mal probiert?
Das lasse ich dann vorerst, wenn ich vielleicht doch ein anderes System finde.
Werner
Ja, es handelt sich um das YaBB (Yet another bulletin board), das ich installieren möchte
Oh, das gibt es noch. Trotzdem ist fopen kein Perl.
Gibte es aktuellere - möglichst in Perl?
Aktueller als July 2010?
http://www.yabbforum.com/
mfg Beat
Ja, es handelt sich um das YaBB (Yet another bulletin board), das ich installieren möchte
Oh, das gibt es noch. Trotzdem ist fopen kein Perl.
Gibte es aktuellere - möglichst in Perl?Aktueller als July 2010?
http://www.yabbforum.com/
Ich habe das "Oh, das gibt es noch" interpretiert als "alte Kamelle", daher die Frage!
Trotzdem ist fopen kein Perl.
Das wird aber in dem YaBB verwendet - seltsam!
Werner
Trotzdem ist fopen kein Perl.
Das wird aber in dem YaBB verwendet - seltsam!
Wieso seltsam, dann ist es eine Funktion von YaBB. Seltsam ist es, weil die Funktion so aussieht, als ob sie nichts anderes macht als open, dafür aber unsicherer.
Struppi.
Moin Moin!
Trotzdem ist fopen kein Perl.
Das wird aber in dem YaBB verwendet - seltsam!
Wir reden über dieses Machwerk?
Wieso seltsam, dann ist es eine Funktion von YaBB. Seltsam ist es, weil die Funktion so aussieht, als ob sie nichts anderes macht als open, dafür aber unsicherer.
Das sollte beim Rest des K^HCodes kaum auffallen -- modernes, sicheres Perl sieht anders aus. Kein use strict
, Taint-Mode ist aus, Code und HTML-Fragmente wild gemischt statt eine Template-Engine zu benutzen, Perl4-Syntax, Code in Tonnen von Scripten statt in Modulen, alle Module und alle Einstellungen im CGI-Verzeichnis, nur duch .htaccess-Dateien "geschützt"[1], dazu gepackte Module sind mindestens ein paar Jahre alt, ... -- ich höre lieber auf, sonst wird mir noch schlecht.
fopen ist übrigens ab Zeile 1312 von Sources/Subs.pl definiert, und sieht völlig wirr aus.
Ich würde dieses Zeug allerhöchstens auf einem völlig von allen anderen Netzen getrennten Rechner laufen lassen, nicht im LAN und schon gar nicht irgendwo auf einem aus dem Internet erreichbaren Rechner.
Alexander
[1] in Gänsefüßchen, weil Webserver durchaus so konfiguriert sein können, dass sie .htaccess-Dateien stumpf ignorieren. Und schließlich ist auch nicht jeder Webserver ein Apache.
Nach dem Zerriss des Produktes, der mich natürlich zurückschrecken lässt,
würde ich mich freuen, wenn auch ein Vorschlag für ein besseres käme.
Danke