1 #----------------------#
3 #----------------------#
8 Has only one function: doit(), which ties the hashes %get, %post, %fields and %header in
9 PLP::Script. Also generates %cookie immediately.
16 tie %PLP::Script::get, 'PLP::Tie::Delay', 'PLP::Script::get', sub {
18 if ($ENV{QUERY_STRING} ne ''){
19 for (split /[&;]/, $ENV{QUERY_STRING}) {
20 my @keyval = split /=/, $_, 2;
21 PLP::Functions::DecodeURI(@keyval);
22 $get{$keyval[0]} = $keyval[1] unless $keyval[0] =~ /^\@/;
23 push @{ $get{'@' . $keyval[0]} }, $keyval[1];
29 tie %PLP::Script::post, 'PLP::Tie::Delay', 'PLP::Script::post', sub {
32 if (defined($post) && $post ne '' &&
33 ($ENV{CONTENT_TYPE} eq '' || $ENV{CONTENT_TYPE} eq 'application/x-www-form-urlencoded')){
34 for (split /&/, $post) {
35 my @keyval = split /=/, $_, 2;
36 PLP::Functions::DecodeURI(@keyval);
37 $post{$keyval[0]} = $keyval[1] unless $keyval[0] =~ /^\@/;
38 push @{ $post{'@' . $keyval[0]} }, $keyval[1];
44 tie %PLP::Script::fields, 'PLP::Tie::Delay', 'PLP::Script::fields', sub {
45 $PLP::Script::get{PLPdummy}, $PLP::Script::post{PLPdummy}; # Trigger creation
46 return {%PLP::Script::get, %PLP::Script::post}
49 tie %PLP::Script::header, 'PLP::Tie::Headers';
51 if (defined($ENV{HTTP_COOKIE}) && $ENV{HTTP_COOKIE} ne ''){
52 for (split /; ?/, $ENV{HTTP_COOKIE}) {
53 my @keyval = split /=/, $_, 2;
54 $PLP::Script::cookie{$keyval[0]} ||= $keyval[1];