in reply to Re: Need help with writing to db file
in thread Need help with writing to db file

Perhaps this depends on the version of CGI, but 2.81 nor 2.89 at least do not export Vars() by default. You have to implicitly import ':cgi-lib' to call Vars() without using an object. That leaves us with either one of the following:

use CGI qw/:standard :cgi-lib/; my %FORM = Vars(); # OR use CGI ':standard'; my $q = new CGI; my %FORM = $q->Vars(); # Oddly enough, the following do NOT work: use CGI ':standard'; my %FORM = CGI->Vars(); # or my %FORM = CGI::Vars();


If the above content is missing any vital points or you feel that any of the information is misleading, incorrect or irrelevant, please feel free to downvote the post. At the same time, reply to this node or /msg me to tell me what is wrong with the post, so that I may update the node to the best of my ability. If you do not inform me as to why the post deserved a downvote, your vote does not have any significance and will be disregarded.

Replies are listed 'Best First'.
Re: Re^2: Need help with writing to db file
by tachyon (Chancellor) on Feb 10, 2003 at 06:22 UTC

    You are correct that you need to specifically import the Vars() method as it is not part of the ':standard' set. A simple use CGI 'Vars'; will do. My mistake as I always use the OO interface.

    Without wanting it to look like sour grapes for you excellent correction of my incorrect code.....a pet peve of mine is people who do this:

    use CGI ':standard'; my $q = new CGI; $q->method();

    When you use the OO interface of CGI or CGI::Simple you don't need to import anything so just use CGI; is fine.

    BTW - The reason that the CGI->Vars() code does not work relates to the convoluted way in which CGI.pm works and specifically to how it instantiates the internal object.

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print