Nope, no luck.
When I use something like:
Print >> End_form;
Name: $q->param("name")
End_form
My output looks like:
Name: CGI=HASH(0x6590)->param("name")
I think I tried this before and that's why I didn't use CGI.pm for variable
processing.
But hey... I'm open to correction!
-John
On 12/10/02 10:31 AM, "Larry Coffin" <[EMAIL PROTECTED]> wrote:
>
> Well, I'm not all that familiar with the CGI.pm html generation
> functions, but if they simply generate HTML elements, there should be no
> reason you can't mix CGI.pm calls with your own html code. Something like:
>
>
> ---------------
> #!/usr/bin/perl
>
> use CGI;
> $q = new CGI;
>
> open(OUTPUTFILE, ">&STDOUT") || die "$!"; # just for testing
>
> print OUTPUTFILE $q->header;
> print OUTPUTFILE $q->start_html('Application');
>
> print OUTPUTFILE $q->center(
> $q->h2("My Company Name"),
> $q->p($q->strong("Application")),
> );
>
> print OUTPUTFILE <<END_OF_FORM;
> <form action="handle_form.cgi" method="POST">
>
> ....
>
> </form>
> END_OF_FORM
>
>
> print OUTPUTFILE $q->end_html();
>
> ----------------
>
> This tested just fine for me.
>
> Also, your second example should work fine as well -- just use
> CGI.pm for variable processing and do all the output yourself. That's how I
> generally do it!
>
> Another little trick you can do with this "for here" print syntax
> and html output is great for keeping your program code nice and indented
> without affecting the way your html code is displayed:
>
> sub Something {
>
> print <<" END_OF_FORM"; # note that is a tab not spaces ...
> <html>
> <head>
> <title>Something</title>
> </head>
> <body ....>
> .....
> </body>
> </html>
> END_OF_FORM
> # ... which matches the tab there at the start of the preceeding line
> }
>
>
> ---Larry
>
>
> At 1:10 PM -0500 12/10/02, John Stokes wrote:
>> Really?
>>
>> How could I mix something like:
>>
>> print OUTPUTFILE $q->start_html('Application');
>> print OUTPUTFILE $q->center(
>> $q->h2("My Company Name"),
>> $q->p($q->strong("Application")),
>> );
>>
>> print OUTPUTFILE $q->p("Applicant's Name: ",$q->b($q->param("Name"));
>>
>> With something like print >> End_of_form? Isn't that producing two HTML
>> headers, which is illegal?
>>
>> ...unless I just use CGI.pm for variable processing. Hmmm. Would this work?
>>
>> use CGI;
>> my $q = new CGI();
>>
>> print OUTPUTFILE >> End_of_form
>>
>> <B>My Company Name</B>
>> Applicant's Name: $q->param("Name")
>>
>> End_of_form
>>
>> ??
>>
>> If that's a legal syntax, then that solves my problem!
>>
>> Thanks all!
>>
>> -John
>
>
> +------------------------------------------------------------------------+
> | Larry Coffin, G.P.H. Watertown, MA |
> | http://www.PointInfinity.com/lcoffin/ [EMAIL PROTECTED] |
> +------------------------------------------------------------------------+
>
> Hofstadter's Law:
> It always takes longer than you expect, even when you take
> Hofstadter's Law into account.
>
>
> -
>
--
-John Stokes
Computer Psychiatrist (Director of Information Technology)
Church Resource Ministries
[EMAIL PROTECTED]
Three Pillars: Humility, Communication, Balance
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]