in reply to Re: IIS 6 x64 CGI variable problem
in thread IIS 6 x64 CGI variable problem

Ok, this sounds interesting. I probably should have noted that my actual perl code is:
print start_multipart_form(-method=>'POST', -name=>'labcal', -id=>'lab +cal');

The previously mentioned form statement was snagged from the view page source fcn and was generated by the multipart_form fcn. Are you recommending that maybe I not use this and instead hard code the form statment?

Also, help me here, just what does $|++ do?

Thx

Replies are listed 'Best First'.
Re^3: IIS 6 x64 CGI variable problem
by oko1 (Deacon) on Dec 25, 2010 at 19:22 UTC

    > Are you recommending that maybe I not use this and instead hard code the form statment?

    The forms that I was using weren't multipart/form-data - they were just plain old 'method="POST"' types - but as I recall, the data kept ending up being passed as GET rather than POST no matter what I did in 'start_form()'. I noticed that the default method used by CGI.pm was GET, decided to flip it to POST just so I could experiment a bit... and suddenly (and unexpectedly), everything worked fine. Again, this was for just that one server type ('thttpd', maybe? I really don't remember) - all the others worked fine both before and after the change.

    As I'd mentioned, I'm not a fan of "magical" solutions where I don't understand the mechanism - hate'em, in fact, since they don't teach me how to solve that class of problems, only that one problem (and even that's a "maybe") - but A) it worked for me, and B) maybe someone here will have better insight/knowledge about the "why" of it.

    > what does $|++ do?

    From perlvar:

    $| If set to nonzero, forces a flush right away and after eve +ry write or print on the currently selected output channel.

    I generally turn buffering off whenever I have Perl talking to an external program - e.g., a web server or a database client, or any kind of a pipe. It prevents a host of related timing problems.


    -- 
    Education is not the filling of a pail, but the lighting of a fire.
     -- W. B. Yeats
    
      B) maybe someone here will have better insight/knowledge about the "why" of it.

      There is only one explanation, the server was not implementing CGI protocol correctly