Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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ß

Geschrieben

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

Geschrieben

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?

Geschrieben

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", },

}

Geschrieben

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.

Geschrieben
[...]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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...