0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordosuse CGI ( ':standard', '-no_debug', '*h3', 'start_table' );
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos######################### End of black magic.
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos $CRLF = "\n"; # via web server carriage is inserted automatically
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos# all the automatic tags
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordosis h1('fred'), '<h1>fred</h1>', "open/close tag";
22021f13de98c2ef69055bec833d200f16922bc2Laszlo Hordosis h1( 'fred', 'agnes', 'maura' ), '<h1>fred agnes maura</h1>',
d90caa300251d7fd09e3f286018ce04356a71e62Laszlo Hordos "open/close tag multiple";
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordosis h1( { -align => 'CENTER' }, 'fred' ), '<h1 align="CENTER">fred</h1>',
df96152750f1114a1168f7e6e9ea78d579ef35ccLaszlo Hordosis h1( { -align => undef }, 'fred' ), '<h1 align>fred</h1>',
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordosis h1( { -align => 'CENTER' }, [ 'fred', 'agnes' ] ),
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos '<h1 align="CENTER">fred</h1> <h1 align="CENTER">agnes</h1>',
fe644a7302b3235c08aec5fd7992a329f2ee1364Laszlo Hordos is h1( 'fred', 'agnes', 'maura' ), '<h1>fred-agnes-maura</h1>',
c32fc412b63ff49e61e7748fda8a3d2dab890813Laszlo Hordosis header(), "Content-Type: text/html; charset=ISO-8859-1${CRLF}${CRLF}",
c32fc412b63ff49e61e7748fda8a3d2dab890813Laszlo Hordosis header( -type => 'image/gif', -charset => '' ), "Content-Type: image/gif${CRLF}${CRLF}",
e95ef6b1ae95c5684fc1b20063975a2cb29055b9Laszlo Hordosis header( -type => 'image/gif', -status => '500 Sucks' ),
c32fc412b63ff49e61e7748fda8a3d2dab890813Laszlo Hordos "Status: 500 Sucks${CRLF}Content-Type: image/gif${CRLF}${CRLF}", "header()";
c32fc412b63ff49e61e7748fda8a3d2dab890813Laszlo Hordos# return to normal
e95ef6b1ae95c5684fc1b20063975a2cb29055b9Laszlo Hordoscharset( 'ISO-8859-1' );
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordoslike header( -nph => 1 ),
a1f638677d6b70887a0eeeab4e30fd2d7dbb5e5eBrendan Mmiller qr!HTTP/1.0 200 OK${CRLF}Server: cmdline${CRLF}Date:.+${CRLF}Content-Type: text/html; charset=ISO-8859-1${CRLF}${CRLF}!,
a1f638677d6b70887a0eeeab4e30fd2d7dbb5e5eBrendan Mmiller<!DOCTYPE html
a1f638677d6b70887a0eeeab4e30fd2d7dbb5e5eBrendan Mmiller PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
a1f638677d6b70887a0eeeab4e30fd2d7dbb5e5eBrendan Mmiller "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
51c85743b9d73dedd60a0ecad2402c231f71e39dLaszlo Hordos<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
51c85743b9d73dedd60a0ecad2402c231f71e39dLaszlo Hordos<title>Untitled Document</title>
a1f638677d6b70887a0eeeab4e30fd2d7dbb5e5eBrendan Mmiller<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
a1f638677d6b70887a0eeeab4e30fd2d7dbb5e5eBrendan Mmilleris start_html(
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos -Title => 'The world of foo' ,
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos -Script => [ {-src=> 'foo.js', -charset=>'utf-8'} ],
27f054fe098cabdf56be9e73e3c689b9ebdacfc5Laszlo Hordos<!DOCTYPE html
51c85743b9d73dedd60a0ecad2402c231f71e39dLaszlo Hordos PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos<title>The world of foo</title>
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos<script src="foo.js" charset="utf-8" type="text/javascript"></script>
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
0f6ab51d11efadda72c74d92abc1747773621142Laszlo Hordosfor my $v (qw/ 2.0 3.2 4.0 4.01 /) {
df96152750f1114a1168f7e6e9ea78d579ef35ccLaszlo Hordos local $CGI::XHTML = 1;
a1f638677d6b70887a0eeeab4e30fd2d7dbb5e5eBrendan Mmiller start_html( -dtd => "-//IETF//DTD HTML $v//FR", -lang => 'fr' ),
e95ef6b1ae95c5684fc1b20063975a2cb29055b9Laszlo Hordos<!DOCTYPE html
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos<html lang="fr"><head><title>Untitled Document</title>
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos start_html( -dtd => "-//IETF//DTD HTML 9.99//FR", -lang => 'fr' ),
27f054fe098cabdf56be9e73e3c689b9ebdacfc5Laszlo Hordos<!DOCTYPE html
d90caa300251d7fd09e3f286018ce04356a71e62Laszlo Hordos<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
a0bf2647c3f5c8bb50b03ab767037b5f90242989Laszlo Hordos<title>Untitled Document</title>
f277d0ee6abc01fba581c836571dc390ac349de8Brendan Miller<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
968a8ea42a7a90597e80bca047c0e8a70b3b5f5fLaszlo Hordos cookie( -name => 'fred', -value => [ 'chocolate', 'chip' ], -path => '/' );
f277d0ee6abc01fba581c836571dc390ac349de8Brendan Milleris $cookie, 'fred=chocolate&chip; path=/', "cookie()";
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordosmy $h = header( -Cookie => $cookie );
d90caa300251d7fd09e3f286018ce04356a71e62Laszlo Hordos qr!^Set-Cookie: fred=chocolate&chip\; path=/${CRLF}Date:.*${CRLF}Content-Type: text/html; charset=ISO-8859-1${CRLF}${CRLF}!s,
d90caa300251d7fd09e3f286018ce04356a71e62Laszlo Hordosis start_h3, '<h3>';
d90caa300251d7fd09e3f286018ce04356a71e62Laszlo Hordosis end_h3, '</h3>';
d90caa300251d7fd09e3f286018ce04356a71e62Laszlo Hordosis start_table( { -border => undef } ), '<table border>';
d90caa300251d7fd09e3f286018ce04356a71e62Laszlo Hordosis h1( escapeHTML("this is <not> \x8bright\x9b") ),
22021f13de98c2ef69055bec833d200f16922bc2Laszlo Hordos '<h1>this is <not> ‹right›</h1>';
a1f638677d6b70887a0eeeab4e30fd2d7dbb5e5eBrendan Mmillercharset('utf-8');
22021f13de98c2ef69055bec833d200f16922bc2Laszlo Hordosis h1( escapeHTML("this is <not> \x8bright\x9b") ),
d90caa300251d7fd09e3f286018ce04356a71e62Laszlo Hordos ? '<h1>this is <not> �right�</h1>'
22021f13de98c2ef69055bec833d200f16922bc2Laszlo Hordos : '<h1>this is <not> �right�</h1>';
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordosis i( p('hello there') ), '<i><p>hello there</p></i>';
a1f638677d6b70887a0eeeab4e30fd2d7dbb5e5eBrendan Mmillermy $q = CGI->new;
d90caa300251d7fd09e3f286018ce04356a71e62Laszlo Hordosis $q->h1('hi'), '<h1>hi</h1>';
d90caa300251d7fd09e3f286018ce04356a71e62Laszlo Hordos$q->autoEscape(1);
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordosis $q->p( { title => "hello worldè" }, 'hello á' ),
9797a5587e15fe093b9d962818283cd8e1197ef6Laszlo Hordos '<p title="hello world&egrave;">hello á</p>';
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos$q->autoEscape(0);
a1f638677d6b70887a0eeeab4e30fd2d7dbb5e5eBrendan Mmilleris $q->p( { title => "hello worldè" }, 'hello á' ),
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos '<p title="hello worldè">hello á</p>';
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordosis p( { title => "hello worldè" }, 'hello á' ),
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordos '<p title="hello world&egrave;">hello á</p>';
0fdda69ce3627d501e4bb3103765f676bb1ab061Laszlo Hordosis header( -type => 'image/gif', -charset => 'UTF-8' ),