Re: first steps with mod_perl

[email protected] (Marek)
Newsgroups perl.beginners.cgi
Organization http://groups.google.com
Message-ID <[email protected]>

Hi Gunnar,

if I understand well, it is extremely difficult to make CGI.pm produce
valid html

My problem are the many <p /> tags in the form - and the checked
instead of checked="checked" in the input-tags. But probably I am not
yet understanding CGI.pm?

Probably it is really easier, to print directly avoiding CGI.pm, as
Gunnar suggested?


Greetings to all


marek


My example-script looks now like follows:

#! /usr/bin/perl -wT

use strict;
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use CGI qw/:standard/;
use Socket;

####my VARS################

my $email     =  "mstep\@example.org";
my $url       =  "http://example.org";
my %colours   = (
              red => "#ff0000",
              green => "#00ff00",
              blue => "#0000ff",
              black => "#000000",
              white => "#ffffff"
              );

my $hostname  = gethostbyaddr(inet_aton($ENV{REMOTE_ADDR}), AF_INET);

my $ua = $ENV{HTTP_USER_AGENT};
my $ref = $ENV{HTTP_REFERER};

####END my VARS#############

print header;


print start_html(-dtd=>[ '-//W3C//DTD XHTML 1.0 Strict//EN',

        'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd' ],
                 -title=>'Hello World, Address, Colours',
                 -head=>[Link({-rel=>'stylesheet',
                               -href=>'../styles/style.css',
                               -type=>'text/css',
                               -media=>'screen'})
                   ]
                 ),
h1('Hello World!'),
p('And this is a comment to my first Hello World Script!'),

p("My email is $email and my webpage is",
    a({-href=>"$url"},"http://example.org"));

print "<p>";

foreach my $colour (keys %colours) {
        print qq(<span style="class:time1; color:$colours{$colour}">
$colour</span><br />\n);
    }
print "</p>";

print p("Welcome, dear Visitor from <em>$hostname</em> !");

print "<p>";

print "Your Browser is: $ua<br /><br />";
if ($ua =~ /MSIE/){
    print "your browser is Internet Explorer!<br /><br />";
} elsif ($ua =~ /Netscape/i){
    print "your browser is Netscape!<br /><br />";
} elsif ($ua =~ /Safari/i){
    print "your browser is Safari! Most likely your Operating System
is Macintosh! Isn't it?<br /><br />";
} elsif ($ua =~ /Opera/i){
    print "your browser is Opera!<br /><br />";
} elsif ($ua =~ /Mozilla/i){
    print "your browser is probably Mozilla!<br /><br />";
} elsif ($ua =~ /Lynx/i){
    print "your browser is probably Lynx!<br /><br />";
} else {
    print "I give up! Don't know which Browser you are using!<br /
><br />";
}
print "<br /><br />your Referring Page was: $ref";
print "</p>";

print start_form,
p,("What's your name? ",textfield('name')),
p,("What's the combination? ",
checkbox_group(-name=>'words',
          -values=>['eenie','meenie,-checked=>checked','minie','moe'],
          -defaults=>['eenie','minie'])),
p("What's your favorite color? ",
popup_menu(-name=>'color',
           -values=>['red','green','blue','chartreuse']),
submit),
end_form,
print hr({-class=>'guest3'});

if (param()) {
my $name      = param('name');
my $keywords  = join ', ',param('words');
my $color     = param('color');
print p,("Your name is ",em(escapeHTML($name))),
        p,("The keywords are: ",em(escapeHTML($keywords))),
        p,("Your favorite color is ",em(escapeHTML($color))),
        hr({-class=>'guest3'});
}

print hr({-class=>'guest3'}),
end_html;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.