Thread Parameterübergabe in Perl / CGI verwirft # (11 answers)
Opened by amun-ra198 at 2007-10-11 16:22

pq
 2007-10-12 14:58
#100754 #100754
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Struppi+2007-10-12 12:50:23--
oder den Link mit der a Methode erzeugen, dann wird das automatisch gemacht.


Code (perl): (dl )
1
2
CGI::a( {-href => "../cgi-bin/skript2.pl?param0=$dsnum[1]&param1=$dsnum[2]&param2=$dsnum[3]&param3=$dsnum[4]&param4=$dsnum[5]&param5=$dsnum[6]&param6=$dsnum[7]&param7=$dsnum[8]&param8=$dsnum[0]"
}, 'aendern');

nicht wirklich.
Code: (dl )
1
2
3
4
5
6
$ perl -wle'
use CGI;
my $key = "foo";
my $val = "bar&baz";
print CGI::a({-href => "/script?$key=$val&something=else"});'
<a href="/script?foo=bar&amp;baz&amp;something=else" />

wie man hier sieht, wird der link "/script?foo=bar&amp;baz&amp;something=else" generiert,
was ohne html-entities so aussieht:
"/script?foo=bar&baz&something=else"
und das ist einfach mal falsch. woher soll CGI.pm auch wissen, welche & zeichen escaped
werden sollen und welche nicht?
richtig ist, die parameter einzeln mit URI::escape zu escapen oder die methode, die ich
verwendet habe.
Quote
Warum bindet man ein Modul ein, wenn man es nur z.T. verwendet?

warum nicht? die html-generierenden funktion von CGI.pm sind für viele nur unnötiger
ballast. meist verwendet man doch eh ein template-system.
zu sagen, wenn du schon CGI.pm benutzt, musst du auch die html-funktionen verwenden,
ist doch genauso unsinnig.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Parameterübergabe in Perl / CGI verwirft #