📄 ch10_02.htm
字号:
<html><head><title>Importing Method Groups (Perl in a Nutshell, 2nd Edition)</title><link rel="stylesheet" type="text/css" href="../style/style1.css" /><meta name="DC.Creator" content="Stephen Spainhour" /><meta name="DC.Format" content="text/xml" scheme="MIME" /><meta name="DC.Language" content="en-US" /><meta name="DC.Publisher" content="O'Reilly & Associates, Inc." /><meta name="DC.Source" scheme="ISBN" content="0596002416L" /><meta name="DC.Subject.Keyword" content="stuff" /><meta name="DC.Title" content="Perl in a Nutshell, 2nd Edition" /><meta name="DC.Type" content="Text.Monograph" /></head><body bgcolor="#ffffff"><img src="gifs/smbanner.gif" usemap="#banner-map" border="0" alt="Book Home" /><map name="banner-map"><area shape="rect" coords="1,-2,616,66" href="index.htm" alt="Java and XSLT" /><area shape="rect" coords="629,-11,726,25" href="jobjects/fsearch.htm" alt="Search this book" /></map><div class="navbar"><table width="684" border="0"><tr><td align="left" valign="top" width="228"><a href="ch10_01.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0" /></a></td><td align="center" valign="top" width="228" /><td align="right" valign="top" width="228"><a href="ch10_03.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0" /></a></td></tr></table></div><h2 class="sect1">10.2. Importing Method Groups</h2><p><a name="INDEX-1646" />The syntax for calling CGImethods can be unwieldy. However, if you choose not to use the objectform of CGI.pm, you can import individual methods instead. The"birthday" example shown earliercould be written even more simply as:</p><blockquote><pre class="code">#!/usr/local/bin/perl -wuse CGI qw(param header p);my $bday = param("birthday");print header('text/plain');print "Your birthday is $bday.";</pre></blockquote><p>By importing the <tt class="literal">param</tt>, <tt class="literal">header</tt>,and <tt class="literal">p</tt> methods into your namespace, you no longerhave to use the <tt class="literal">new</tt> constructor (since it iscalled automatically now), and you don't need tospecify a CGI object with every method call.</p><p>CGI.pm also lets you import groups of methods, which can make yourprograms much simpler and more elegant. For example, to import allform-creation methods and all CGI-handling methods:</p><blockquote><pre class="code">use CGI qw/:form :cgi/;</pre></blockquote><p>The method groups supported by CGI.pm are:</p><dl><dt><b><tt class="literal">:cgi</tt></b></dt><dd><a name="INDEX-1647" />All CGI-handling methods</p></dd><dt><b><tt class="literal">:cgi-lib</tt></b></dt><dd>All methods supplied for backward compatibility with<em class="emphasis">cgi-lib</em></p></dd><dt><b><tt class="literal">:form</tt></b></dt><dd><a name="INDEX-1648" />All form-generation methods</p></dd><dt><b><tt class="literal">:html</tt></b></dt><dd><a name="INDEX-1649" />All HTML methods</p></dd><dt><b><tt class="literal">:html2</tt></b></dt><dd>All HTML 2.0 methods</p></dd><dt><b><tt class="literal">:html3</tt></b></dt><dd>All HTML 3.0 methods</p></dd><dt><b><tt class="literal">:netscape</tt></b></dt><dd><a name="INDEX-1650" />All methods generating Netscape extensions</p></dd><dt><b><tt class="literal">:ssl</tt></b></dt><dd><a name="INDEX-1651" />All SSL methods</p></dd><dt><b><tt class="literal">:standard</tt></b></dt><dd><a name="INDEX-1652" />All HTML 2.0, form-generation, and CGImethods</p></dd><dt><b><tt class="literal">:all</tt></b></dt><dd><a name="INDEX-1653" />All available methods</p><p>You can also define new methods for HTML tag generation by simplylisting them on the import line and letting CGI.pm make some educatedguesses. For example:</p><blockquote><pre class="code">use CGI shortcuts,smell;print smell {type=>'garlic', intensity=>'strong'}, "Scratch here!";</pre></blockquote><p>This will cause the following tag to be generated: </p><blockquote><pre class="code"><SMELL TYPE="garlic" INTENSITY="strong">Scratch here!</SMELL></pre></blockquote></dd></dl><hr width="684" align="left" /><div class="navbar"><table width="684" border="0"><tr><td align="left" valign="top" width="228"><a href="ch10_01.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0" /></a></td><td align="center" valign="top" width="228"><a href="index.htm"><img src="../gifs/txthome.gif" alt="Home" border="0" /></a></td><td align="right" valign="top" width="228"><a href="ch10_03.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0" /></a></td></tr><tr><td align="left" valign="top" width="228">10. The CGI.pm Module</td><td align="center" valign="top" width="228"><a href="index/index.htm"><img src="../gifs/index.gif" alt="Book Index" border="0" /></a></td><td align="right" valign="top" width="228">10.3. Maintaining State</td></tr></table></div><hr width="684" align="left" /><img src="../gifs/navbar.gif" usemap="#library-map" border="0" alt="Library Navigation Links" /><p><p><font size="-1"><a href="copyrght.htm">Copyright © 2002</a> O'Reilly & Associates. All rights reserved.</font></p><map name="library-map"><area shape="rect" coords="1,0,85,94" href="../index.htm"><area shape="rect" coords="86,1,178,103" href="../lwp/index.htm"><area shape="rect" coords="180,0,265,103" href="../lperl/index.htm"><area shape="rect" coords="267,0,353,105" href="../perlnut/index.htm"><area shape="rect" coords="354,1,446,115" href="../prog/index.htm"><area shape="rect" coords="448,0,526,132" href="../tk/index.htm"><area shape="rect" coords="528,1,615,119" href="../cookbook/index.htm"><area shape="rect" coords="617,0,690,135" href="../pxml/index.htm"></map></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -