Also,
Maybe you may want to try using CGI.pm to get query
strings.
==============
use strict;
use CGI;
my $cgiObject = new CGI;
my @params = $cgiObject->params();
foreach my $paramKey (@params){
print "Param: $paramKey = " .
$cgiObject->param($paramKey);
}
======================
That may help you out quite a bit. Drieux, You are so
hard core dude!;)
--- drieux <[EMAIL PROTECTED]> wrote:
>
> On Sunday, Jun 8, 2003, at 15:38 US/Pacific, steve
> ryan wrote:
> [..]
> > The problem is -
> >
> > 1. My "+" symbols are not being replaced (i.e. the
> spaces in the form)
> > 2. My HEX/Ascii conversion isn't working (i.e. i
> am getting things
> > like %2C)
> [..]
>
> steve,
>
> First off, I do so try to avoid using "\n" and "\r"
> when
> dealing with HTML stuff, since it is never a sure
> deal that
> everyone will agree with what those mean - so I use
> the boring
>
> our $CRLF = "\015\012"; # "\r\n" is not portable
>
> after playing around, I think what you may have
> missed is the
> fact that the 'string' that got handed back to you
> was already
> urlencoded, and needed to be 'unpacked' first before
> you go
> and deal with specific characters in it.
>
> So help me out here, I think of the query string as
> a long bunch
> of charcters say something like:
>
>
>
fancy+name=this%3Dlong+%26thing%3A+what+is+strange%3B&var=some+stuff+and
>
> %2C+other&hill=dick+%2B+jane&bob=frodo%40shire
>
> which I want to unpack into 'useful' information -
> say a hash of stuff
> like:
>
> var => some stuff and, other
> fancy name => this=long &thing: what is strange;
> hill => dick + jane
> bob => [EMAIL PROTECTED]
>
> As such your '$value' is the value side of the query
> string? once you
> have unpacked the 'var=value' pairs out of the query
> string???? Or are
> you trying to work against the whole of the
> QueryString itself?
>
> Which was a mistake I made the first time out the
> shoot, and found it
> best to break the query string up into it's
> constituent parts and
> then decrypt it.
>
> I ripped off, and then twiddled the following from
> someone:
>
> #------------------------
> # Our idea is to pass in a hash
> # $ref->{key} = $val that would
> # normally be formed as
> # ?key=val
> sub url_packer($)
> {
> my ($ref) = @_;
> my $url;
> while ( my ($k, $v) = each %$ref)
> {
> $v ='' unless defined($v);
> $k =~ s/([^ \w])/"%" .
> uc(sprintf("%2.2x",ord($1)))/eg;
> $v =~ s/([^ \w])/"%" .
> uc(sprintf("%2.2x",ord($1)))/eg;
> $v =~ s/ /+/g;
> $k =~ s/ /+/g;
> $url .= (defined($url))?
> "&$k=$v" : "$k=$v";
> }
>
> $url;
>
> } # end of url_packer
>
> #------------------------
> #
> sub unpack_query_string($)
> {
> my ($qstring) = @_;
>
> return unless $qstring;
>
> my $queryHash;
>
> chomp($qstring);
> my @args = split(/&/, $qstring);
>
> foreach my $thing ( @args) {
> my ($k, $v) = split(/=/, $thing);
> next unless(defined($v) && $v ne '');
> # double coverage here, requires var=val structure
> $k =~ s/\+/ /g; $k =~
> s/%(..)/pack("c",hex($1))/ge;
> $v =~ s/\+/ /g; $v =~
> s/%(..)/pack("c",hex($1))/ge;
> $v =~ s/\s+$//;
> $v =~ s/^\s+//;
> $queryHash->{$k} = $v;
> }
>
> $queryHash;
>
> } # end of unpack_query_string
>
>
> Purists will of course note that the
> unpack_query_string does not
> work and play well with 'multiple select' types of
> options - but I
> have another variant that deals with that....
>
>
>
> ciao
> drieux
>
> ---
>
>
> --
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
>
=====
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GIT d s+:++ a C++ UL++ US+ P+++ L++
W+++ w PS PE t++ b+ G e r+++ z++++
------END GEEK CODE BLOCK------
__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]