Sorry here's the diff which includes one more thing: When SUBMITING-Forms a whitespace(\s+) is replaced by +. We have to retransform this.
tom
Am Son, 2002-12-08 um 22.39 schrieb Tom Schindl:
> I've found a work around for the problem, i would call it a patch
> because i don't know yet which side affects this replacement has.
>
> I have replaced
> ------------------------cut---------------------------
> return map { s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge; $_; } split
> /[=&;]/, $string, -1;
> ------------------------cut---------------------------
> by
> ------------------------cut---------------------------
> return map { s/%([0-9a-fA-F]{2})/chr(hex($1))/ge; $_; } split /[=&;]/,
> $string, -1;
> ------------------------cut---------------------------
>
> I don't know if pack has any advantages still I know that HTML::Entities
> converts characters this way, so it should work in most situations.
> Still does anybody know what's wrong with pack into mod_perl although it
> works in perl itself without any problems.
>
> I've also added a diff.
>
> thx
>
> tom
>
> Am Son, 2002-12-08 um 21.46 schrieb Tom Schindl:
> > Problems with Apache::compat
> >
> > CGI-PARAM-STRING: header=%DC%DC%DC%DC&body=%D6%D6%D6%D6&type=save_thread
> >
> > ------------------------cut--------------------------------------
> > [Sun Dec 08 21:39:09 2002] [error] [client 127.0.0.1] Character in "c"
> > format wrapped at
> >
>/usr/bestsolution/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Apache2/Apache/compat.pm
> line 217.
> > , referer: http://localhost/discussion-board
> > ------------------------cut--------------------------------------
> >
> > When I copy the lines of interest into a small perl program and execute
> > it, everything works perfectly. What's going wrong there?
> >
> > ------------------------cut--------------------------------------
> > map { s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge; $_; } split /[=&;]/,
> > $string, -1
> > ------------------------cut--------------------------------------
> >
> > thx
> >
> > tom
--
Tom Schindl <[EMAIL PROTECTED]>
215,216c215,218
< $string =~ s/\+/ /g;
< return map { s/%([0-9a-fA-F]{2})/chr(hex($1))/ge; $_; } split /[=&;]/, $string, -1;
---
> return map {
> s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge;
> $_;
> } split /[=&;]/, $string, -1;
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
