Struppi: Cookie URLencoded?

Beitrag lesen

Hallo Rolf Rost

hi Stuppi,

Ich gehe mittlerweile davon aus, das jedes Modul oder Programm das in einem CGI Kontext eingebunden wird die Funktionen verwenden kann ohne das Modul einzubinden.
CGI::param(...) oder CGI::cookie() kann ich (in einem CGI Skript) an jeder Stelle aufrufen.

So brauchst du dich z.b. mit eben solchen Fragen gar nicht zu beschäftigen.

4GL Syndrom ;-)

Das CGI Modul bietet keine Funktion die einen Cookie setzt und danach umleitet. Da ich das jedoch brauche für ein Login -> Umleitung auf die Anwendung und umgekehrt, muss ich da zu Fuss rein.

Nicht?

#!/usr/bin/perl -w

use CGI;
use strict;

my $cookie = CGI::cookie(
       -name => 'test',
       -value => 'etwas x beliebiges',
       -expires => '+25h',
       -path => '/',
);
my $neue_url = 'http://localhost/';

my $text = CGI::header(-cookie => $cookie, -location => $neue_url);

print $text

funktioniert einwandfrei.

Und wenn ich schon aus bestimmten Gründen eine eigene readparse() Funktion verwende um ein paar lumpige Formulareingaben einzulesen, brauch ich das CGI Modul doch nicht extras wegen eines noch lumpigeren Cookies einzuzetzen ;-)

Naja, das ist wirklich Verschwendung.
Das CGI Modul ist, wenn man es verstanden hat, ein extrem nützliches Werkzeug um HTML Ausgaben zu erstellen, seien es Formulare (sehr sehr nützlich) oder Tabellen (nie mehr ein end Tag vergessen) oder x-beliebiges HTML, alles wird mit dem Modul einfacher und du hast keinen HTML Code in deinem Perl Code, was die Übersichlichkeit enorm verbessert.

aber wenn deine Skript nur Formulare parsen gibt es glaub ich sowas wie CGI::Lite (o.ä)

Du verwendest doch auch das DBI Modul oder?

Ja natürlich. Aber das hat mit Cookies nun überhaupt nichts zu tun...

nicht mit den Cookies, aber damit das es ein Modul für einen Verwendungszweck gibt das millionenmal im Einatz ist, von Millionen Benutzern quasi getestet wird und dadurch sich für dich solche Fragen nicht mehr stellen dürften.

Struppi.