Jin84 Geschrieben 6. August 2009 Teilen Geschrieben 6. August 2009 Aloha, ich muss mich derzeit mit Cgi/Perl beschäftigen und hät dazu mal ein paar Fragen. Meine Aufgabe besteht darin, Daten aus einer (auf einem Server liegenden) Datei auszulesen und im Browser bearbeitbar und speicherbar auszugeben. Dazu soll ich eben Cgi/Perl benutzen. Ich hab bis vor kurzem mit dem Thema gar nichts zu tun gehabt und kenne mich dementsprechend wenig aus. Nun habe ich schon ein bisschen im Internet gesucht, doch das googlen war nie meine Stärke. Ich hab zahlreiche Beispiele gefunden wie man Gästebücher, Kontaktformulare etc. ausliest (immer über eine HTML Datei in der den Objekten Namen vergeben werden und ein Cgi Script), aber nichts wie man eine flexible Seite generiert (flexibel weil die Anzahl der Daten in der Datei ebenso flexibel ist). Daher meine Frage, ob das mit Cgi/Perl so ohne weiteres überhaupt geht, und wenn ja vielleicht grob die Richtung vorgeben unter der ich suchen kann. Was ich bis jetzt probiert habe, ist quasi Inhalt und Layout in ein Cgi Script zu packen, jedoch wird das ganze nicht als HTML Seite erkannt, sondern im Browser nur der Inhalt der Datei ausgegeben. Dann hab ichs mit 'ner Html Datei probiert die ein <form action="Pfad zum Cgi Script"> enthält (frei nach cgi.xwolf.de|com - Realm of CGI: CGI Tutorial 4/10) jedoch wird zwar eben diese Html Datei aufgerufen, sonst jedoch nichts, wobei ich dort auch ratlos bin, was noch in das Cgi Script rein müsste, damit es die Daten entsprechend an den Browser sendet. Auf der oben verlinkten Seite unter Schritt2, konnt ich in der Richtung nichts finden. Gut wenn Fragen sind, raus damit. Hoffe gut genug geschildert zu haben wo das Problem liegt. Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 6. August 2009 Teilen Geschrieben 6. August 2009 Der Webserver muss für CGI Scripte eingerichtet sein, d.h. meistens gibt es dafür ein eigenes Verzeichnis (cgi-bin) in das die Datei mit einer definierten Endung (*.cgi / *.pm) gelegt wird. Zusätzlich muss auf Unix Systemen die Datei executable-Recht für den Webserverprozess haben und ggf diesem auch gehören. In der CGI Datei wird, wenn es sich um Perl handelt auch der Pfad zum Interpreter (#!/bin/perl) angegeben. Aber diese ganzen Dinge musst Du beim Hoster / Betreiber des Server nachlesen bzw erfragen Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 6. August 2009 Teilen Geschrieben 6. August 2009 SELFHTML: Perl / Perl lokal auf einem PC einrichten ist gut für den Einstieg. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jin84 Geschrieben 11. August 2009 Autor Teilen Geschrieben 11. August 2009 Danke, das hat mir schonmal geholfen. Jetzt steh ich vor einem weiteren Problem. Ich möchte ein Array welches als Elemente Sätze von Schlüssel-Wert Paaren hat mit dem DataDumper dumpen. Das Array hat die Form: @array = { { "key" => "value", "key" => "value", }, { "key" => "value", "key" => "value", }, } Wobei die Anzahl der Paare in jedem Element ebenso Variabel sein kann wie die Gesamtanzahl der Elemente. 2 Sachen gibt mir der Dumper jedoch nicht so aus wie ich das möchte: 1.: Statt $Var1 =... möcht ich @array = ... in dem ausgegebenen Text stehen haben und die äußeren geschweiften Klammern lässt er weg, ersetzt sie durch eckige (wenn ich vor das Array ein \ setze oder das Array mit eckigen Klammern umschließe), oder schreibt noch etwas das aussieht wie ein Speicherbereich in dem die einzelnen Elemente stehen mit rein (wenn ich das dem Dumper übergebene Array mit geschweiften Klammern umschließe). Wie mach ich das, dass der Dumper das Array 1:1 kopiert und statt $Var1 den Arraynamen benutzt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 11. August 2009 Teilen Geschrieben 11. August 2009 Wie wärs mal mit Quelltext und einer Ausgabe? Deine Beschreibung ist nicht verständlich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jin84 Geschrieben 11. August 2009 Autor Teilen Geschrieben 11. August 2009 hm sorry Also ich will oben das in kurzform geschriebene Array dumpen um zu kontrollieren ob eine PerlDatei welche mein Skript mitverwenden soll korrekt eingelesen wurde Quelltext für die Passage: my $array_ref = \@array; print Dumper($array_ref); Ausgabe: $Var1 = [ { "key" => "value", "key" => "value", }, { "key" => "value", "key" => "value", }, ] Gewünschte Ausgabe: @array = { { "key" => "value", "key" => "value", }, { "key" => "value", "key" => "value", }, } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 11. August 2009 Teilen Geschrieben 11. August 2009 Also ich benutze Data Dumper immer nur um zu kontrollieren, ob die Variablen die entsprechenden Werte haben und nicht um irgendwelche Ausgaben zu formatieren. Aber hier steht beschrieben, wie eine Ausgabenformatierung möglich ist. Falls es nicht klappt, kannst dir die Ausgabe ja selbst stricken - sind ja nur 2-3 Zeilen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Doham Geschrieben 12. August 2009 Teilen Geschrieben 12. August 2009 [...]aber nichts wie man eine flexible Seite generiert (flexibel weil die Anzahl der Daten in der Datei ebenso flexibel ist). Daher meine Frage, ob das mit Cgi/Perl so ohne weiteres überhaupt geht, und wenn ja vielleicht grob die Richtung vorgeben unter der ich suchen kann. schau dir mal HTML::Mason an. Damit bastel ich gerade in der Arbeit Applikationen in Verbindung mit nem Wiki. Mason HQ: Welcome to Mason Mason is a powerful Perl-based web site development and delivery engine. With Mason you can embed Perl code in your HTML and construct pages from shared, reusable components. Mason solves the common problems of site development: caching, debugging, templating, maintaining development and production sites, and more. Mason is 100% free and open source. Although it can be used from CGI or even stand-alone, it is optimally designed for use with two other open source technologies: mod_perl and Apache. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.