I'm trying to write an ASP app that runs under PerlScript and Apache::ASP.

i've found that with ActivePerl 618 -- $Request->QueryString->('foo')
return a reference to a Win32::OLE hash. 

to get a string from the hash you must write --
        $Request->QueryString->('foo')->Item()
or you must use one of the hacks in the OLE.pm docs that come with ActivePerl.

$Request->QueryString->('foo')->Item() however doesn't work
under Apache::ASP. so i'm wondering if something like the patch
below would improve compatibility without hurting performance 
too much.

comments? suggestions? i know the patch below would need work
to support the "array of values" ASP thing...

--- /usr/lib/perl5/site_perl/5.6.0/Apache/ASP.pm        Tue Aug  1 19:42:18 2000
+++ /home/jreed/tmp/ASP.pm      Mon Oct  9 16:30:21 2000
@@ -2640,6 +2640,25 @@ sub ScriptOnFlush {
 
 1;
 
+package Apache::ASP::QsObj;
+
+sub new { 
+    my $class = shift; 
+    my $self = {};
+    $self->{str} = shift;
+    
+    bless $self, $class;
+    return $self;
+  };
+
+sub Item()
+  {
+    my $self = shift;
+    return $self->{str};
+  }
+
+1;
+
 # Request Object
 package Apache::ASP::Request;
 
@@ -2794,7 +2813,11 @@ sub Form 
 sub FileUpload 
   { shift->{FileUpload}->Item(@_) }
 sub QueryString 
-  { shift->{QueryString}->Item(@_) }
+  { 
+    my $self = shift;
+    my $key = shift;
+    return new Apache::ASP::QsObj($self->{QueryString}->Item($key));
+  }
 sub ServerVariables 
   { shift->{ServerVariables}->Item(@_) }
 


-- 
------------------------------------------------------------------------
Joel W. Reed                                                412-257-3881
--------------All the simple programs have been written.----------------


PGP signature

Reply via email to