![]() |
[Perl] cgi soll in 2 Dateien schreiben Hi, ich krieg das cgi zwar dazu, in [b] eine[/b] Datei zu schreiben aber nicht in 2. Soll es aber. so dass quasi 2 identische Dateien entstehen. Ich hab jetzt schon ein paar Stunden dran gesessen, aber entweder es schreibt weiterhin nur in eine von beiden oder gar nicht. Mag ja durchaus sein, dass ich irgendwo n Semikolon oder ne Klammer übersehen hab - jedenfalls krieg ichs nicht hin. Kann mir jemand helfen? hier ist der Code [Code] #!/usr/bin/perl $freelinks = '../../../cla/kkg/jgs.html'; $freelinksurl = 'http://www.5hundert.com/cla/kkg/jgs.html'; ################################################################################# # Get the form variables if ($ENV{'REQUEST_METHOD'} eq 'GET') { $querystring = $ENV{'QUERY_STRING'}; } else { read(STDIN, $querystring, $ENV{'CONTENT_LENGTH'}); } @arrnameval = split(/&/, $querystring); foreach $namval (@arrnameval) { ($nam, $val) = split(/=/, $namval); # replace + with space $val =~ tr/+/ /; # translate hex values $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORMDATA{$nam} = $val; } $title = $FORMDATA{'yourtitle'}; $title =~ s/<[^>]*>//g; $url = $FORMDATA{'yoururl'}; $url =~ s/<[^>]*>//g; $category = $FORMDATA{'category'}; $category =~ s/<[^>]*>//g; # Read content open(CLA,"$freelinks"); @arrfreelinks = <CLA>; close(CLA); #Save back new content open(CLA,">$freelinks"); foreach $line (@arrfreelinks) { if ($line =~ "--newentries$category--") { print CLA "\n<font face=Verdana size=1> - <a href=$url target=new>$title</a></font><br>\n"; } print CLA "$line"; } close(CLA); print "Content-type: text/html\n"; $flinks = "$freelinksurl\n\n"; print qq(Location: $flinks); return; [/Code] Danke im Voraus brad |
AW: [Perl] cgi soll in 2 Dateien schreiben Hallo bradwarden, zunächst einmal: ich kann kein Perl und ich mache prinzipiell keine Hausaufgaben für andere. Aber ich kann dir ein paar Tipps und Werkzeuge an die Hand geben, mit denen deine Aufgabe sicher leichter zu bewältigen ist. zunächst einmal stellt sich die Frage nach deinem Kenntnisstand um die Sprache Perl an sich. Weiterhin interessiert mich welche Werzeuge du zum Programmieren (Editor, Debugger, IDE, o.Ä.) benutzt. Außerdem ist immer interessant welche Referenzen du benuzt und nach welchem Tutorial/Buch/Anleitung du dich da durchwühlst. Und zu: [QUOTE]Mag ja durchaus sein, dass ich irgendwo n Semikolon oder ne Klammer übersehen ha[/QUOTE] dafür gibt es Editoren mit Synatxüberprüfung, warum sollten das hier Leute für dich machen? Wo du das alles findest? Nun eine schlaue Kombination der genannten Worte mit Perl sollte sicher einigen Erfolg bringen. Die Kombination von Perl und forum bringt dich sicher auch auf den Weg von Empfehlungen o.Ä. Ach zu deinem Konkreten Problem: Wo machst du denn 2 Dateien auf? Ich sehe nur Anweisungen 1 Datei zu lesen und in diese anschließend zu schreiben. Aber sowas sieht man leicht selbst, wenn man ein paar elementare Regeln beim kodieren beachtet: 1. Kommentieren - ich sehe bei dir niergends Kommentare, welche beschreiben wo die erste, wo die zweite datei geöffnet und geschrieben wird. 2. sprechende Variablennamen - auch wenn die Perl Riege noch nicht auf diesen Zug aufgesprungen ist, biedet es sich an ein wenig sprechendere Namen wie z.b. fileHandleOne und fileHandleTwo zu verwenden, dann kann man mit einem Debugger leicht sehen, welche sachen wann wo gefüllt werden. 3. korrekte Einrückungen erleichtern den Lesefluss. Die code tags dieses forums unterstützen Tab-Einrückungen. 4. in 2 identische Dateien? Gibt es nicht. unterscheiden sich zumindest in ihrem Pfad. Ich hoffe ich habe dir ein paar nützliche Hinweise gegeben, wo du deine Suche fortsetzen kannst. Solltest du noch Fragen zu den angesprochenden Begriffen haben, können wir gern darüber reden. Gruß tele |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 Uhr. |
Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.