As well as what is mentioned above you can simplify your script like this. By defining our tokens just the once then using map (one option) or loops (another option) we make perl do all the hard work. I have also shown you how to use CGI.pm's table method to wrap the input fields in a table to make them neat and CGI::escapeHTML to escape HTML chars for you. BTW -w and use warnings; do the same thing. You only need 1 or the other but -w is more portable as use warnings is a 5.6+ widget.
#!/usr/bin/perl use strict; use warnings; use CGI ':standard'; use CGI::Carp 'fatalsToBrowser'; my $adv = "Advertise your script here!"; my $adminmail = "sulfericacid\@qwest.net"; my @tokens = qw( abstract author distributor copyright keywords descri +ption generator robots language distribution rating ); print header, start_html(), start_form, table({-border=>0}, Tr( {-align=>RIGHT,-valign=>TOP}, [ td(['Email Address: ', textfield('usermail')]), (map{ td([ucfirst($_).": ", textfield($_)])} @tokens), td([ '', submit]), ]) ), end_form, hr; my $tags =''; for my $token ( @tokens ) { my $content = CGI::escapeHTML(param($token)); next unless $content; $tags .= qq!<meta name="token" content="$content"><br>\n!; } print $tags; print hr; print end_html();
A bonus of using tokens as shown is that you will never have typos on your param names as you are using the same names to generate and look at them. Nor will you miss input fields....
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
In reply to Re: CGI aligning
by tachyon
in thread CGI aligning
by sulfericacid
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |