Hallo!
Wie kann ich die Umgebungsvariable PATH_INFO ordentlich setzen?
Und zwar habe ich den Umstand, dass ich mit CGI::Application::Dispatch arbeite. Da wird PATH_INFO benutzt um zu bestimmen, was getan werden soll. Jetzt habe ich da ein Kontaktformular geschrieben (um genau zu sein, mein altes mal ordentlich überarbeitet) und da soll nun nachdem die eMail abgesandt wurde ein redirect erfolgen, damit der Benutzer nicht ausversehen noch eine eMail verschickt, wenn er die Bestätigungsseite aktualisiert.
Dass es da auch andere Wege gibt ist mir bekannt, ich habe diesen gewählt.
Fakt ist aber, dass ich für diese Umleitung, bei der sich die Information von PATH_INFO änder folgendes mache:
# $q = CGI-Objekt
my $url = $q->url(-full=>1, -path_info=>1);
$url =~ s/(.+)\/path/info/hier/$1\/neue/path/info/;
return $self->redirect($url);
Dieses herumfriemeln mittels reg. Ausdrücke an der URL gefällt mir nicht.
Kann ich da nicht einfach vorher irgendwie schön PATH_INFO setzen und dann mittels
$q->url(-full=>1, -path_info=>1) die fertige Adresse produzieren?
CGI.pm kann zwar PATH_INFO auslesen, soweit ich das verstanden habe ist das aber keine Methode um das zu setzen. (Sekundärfrage: Warum eigentlich nicht?)
Hat jemand ne feine Idee wie man das sauberer machen köntne? Oder ist das schon der Königsweg?
Grüße, pktm