📄 ch08_01.htm
字号:
<html><head><title>Standard Modules (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="ch07_04.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="ch08_02.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0" /></a></td></tr></table></div><h1 class="chapter">Chapter 8. Standard Modules</h1><div class="htmltoc"><h4 class="tochead">Contents:</h4> <p> <a href="#perlnut2-CHP-8-SECT-1">AnyDBM_File</a><br /><a href="ch08_02.htm">Attribute::Handlers</a><br /><a href="ch08_03.htm">attributes</a><br /><a href="ch08_04.htm">attrs</a><br /><a href="ch08_05.htm">AutoLoader</a><br /><a href="ch08_06.htm">AutoSplit</a><br /><a href="ch08_07.htm">autouse</a><br /><a href="ch08_08.htm">B</a><br /><a href="ch08_09.htm">B::Asmdata</a><br /><a href="ch08_10.htm">B::Assembler</a><br /><a href="ch08_11.htm">B::Bblock</a><br /><a href="ch08_12.htm">B::Bytecode</a><br /><a href="ch08_13.htm">B::C</a><br /><a href="ch08_14.htm">B::CC</a><br /><a href="ch08_15.htm">B::Concise</a><br /><a href="ch08_16.htm">B::Debug</a><br /><a href="ch08_17.htm">B::Deparse</a><br /><a href="ch08_18.htm">B::Disassembler</a><br /><a href="ch08_19.htm">B::Lint</a><br /><a href="ch08_20.htm">B::Showlex</a><br /><a href="ch08_21.htm">B::Stackobj</a><br /><a href="ch08_22.htm">B::Terse</a><br /><a href="ch08_23.htm">B::Xref</a><br /><a href="ch08_24.htm">base</a><br /><a href="ch08_25.htm">Benchmark</a><br /><a href="ch08_26.htm">bigint</a><br /><a href="ch08_27.htm">bignum</a><br /><a href="ch08_28.htm">bigrat</a><br /><a href="ch08_29.htm">blib</a><br /><a href="ch08_30.htm">bytes</a><br /><a href="ch08_31.htm">ByteLoader</a><br /><a href="ch08_32.htm">Carp</a><br /><a href="ch08_33.htm">CGI</a><br /><a href="ch08_34.htm">CGI::Apache</a><br /><a href="ch08_35.htm">CGI::Carp</a><br /><a href="ch08_36.htm">CGI::Cookie</a><br /><a href="ch08_37.htm">CGI::Fast</a><br /><a href="ch08_38.htm">CGI::Pretty</a><br /><a href="ch08_39.htm">CGI::Push</a><br /><a href="ch08_40.htm">CGI::Switch</a><br /><a href="ch08_41.htm">charnames</a><br /><a href="ch08_42.htm">Class::ISA</a><br /><a href="ch08_43.htm">Class::Struct</a><br /><a href="ch08_44.htm">Config</a><br /><a href="ch08_45.htm">constant</a><br /><a href="ch08_46.htm">CPAN</a><br /><a href="ch08_47.htm">CPAN::FirstTime</a><br /><a href="ch08_48.htm">CPAN::Nox</a><br /><a href="ch08_49.htm">Cwd</a><br /><a href="ch08_50.htm">Data::Dumper</a><br /><a href="ch08_51.htm">DB</a><br /><a href="ch08_52.htm">DB_File</a><br /><a href="ch08_53.htm">Devel::DProf</a><br /><a href="ch08_54.htm">Devel::PPPort</a><br /><a href="ch08_55.htm">Devel::SelfStubber</a><br /><a href="ch08_56.htm">diagnostics</a><br /><a href="ch08_57.htm">Digest</a><br /><a href="ch08_58.htm">Digest::MD5</a><br /><a href="ch08_59.htm">DirHandle</a><br /><a href="ch08_60.htm">Dumpvalue</a><br /><a href="ch08_61.htm">DynaLoader</a><br /><a href="ch08_62.htm">encoding</a><br /><a href="ch08_63.htm">English</a><br /><a href="ch08_64.htm">Env</a><br /><a href="ch08_65.htm">Errno</a><br /><a href="ch08_66.htm">Exporter</a><br /><a href="ch08_67.htm">ExtUtils::Command</a><br /><a href="ch08_68.htm">ExtUtils::Command::MM</a><br /><a href="ch08_69.htm">ExtUtils::Constant</a><br /><a href="ch08_70.htm">ExtUtils::Embed</a><br /><a href="ch08_71.htm">ExtUtils::Install</a><br /><a href="ch08_72.htm">ExtUtils::Installed</a><br /><a href="ch08_73.htm">ExtUtils::Liblist</a><br /><a href="ch08_74.htm">ExtUtils::MakeMaker</a><br /><a href="ch08_75.htm">ExtUtils::Manifest</a><br /><a href="ch08_76.htm">ExtUtils::Miniperl</a><br /><a href="ch08_77.htm">ExtUtils::Mkbootstrap</a><br /><a href="ch08_78.htm">ExtUtils::Mksymlists</a><br /><a href="ch08_79.htm">ExtUtils::MM</a><br /><a href="ch08_80.htm">ExtUtils::MM_Any</a><br /><a href="ch08_81.htm">ExtUtils::MM_BeOS</a><br /><a href="ch08_82.htm">ExtUtils::MM_DOS</a><br /><a href="ch08_83.htm">ExtUtils::MM_NW5</a><br /><a href="ch08_84.htm">ExtUtils::MM_OS2</a><br /><a href="ch08_85.htm">ExtUtils::MM_Unix</a><br /><a href="ch08_86.htm">ExtUtils::MM_UWIN</a><br /><a href="ch08_87.htm">ExtUtils::MM_VMS</a><br /><a href="ch08_88.htm">ExtUtils::MM_Win32</a><br /><a href="ch08_89.htm">ExtUtils::MY</a><br /><a href="ch08_90.htm">ExtUtils::Packlist</a><br /><a href="ch08_91.htm">ExtUtils::testlib</a><br /><a href="ch08_92.htm">Fatal</a><br /><a href="ch08_93.htm">Fcntl</a><br /><a href="ch08_94.htm">fields</a><br /><a href="ch08_95.htm">File::Basename</a><br /><a href="ch08_96.htm">File::CheckTree</a><br /><a href="ch08_97.htm">File::Compare</a><br /><a href="ch08_98.htm">File::Copy</a><br /><a href="ch08_99.htm">File::DosGlob</a><br /><a href="ch08_100.htm">File::Find</a><br /><a href="ch08_101.htm">File::Path</a><br /><a href="ch08_102.htm">File::Spec</a><br /><a href="ch08_103.htm">File::Spec::Cygwin</a><br /><a href="ch08_104.htm">File::Spec::Mac</a><br /><a href="ch08_105.htm">File::Spec::OS2</a><br /><a href="ch08_106.htm">File::Spec::Unix</a><br /><a href="ch08_107.htm">File::Spec::VMS</a><br /><a href="ch08_108.htm">File::Spec::Win32</a><br /><a href="ch08_109.htm">File::stat</a><br /><a href="ch08_110.htm">File::Temp</a><br /><a href="ch08_111.htm">FileCache</a><br /><a href="ch08_112.htm">FileHandle</a><br /><a href="ch08_113.htm">Filter::Simple </a><br /><a href="ch08_114.htm">Filter::Util::Call</a><br /><a href="ch08_115.htm">FindBin</a><br /><a href="ch08_116.htm">GDBM_File</a><br /><a href="ch08_117.htm">Getopt::Long</a><br /><a href="ch08_118.htm">Getopt::Std</a><br /><a href="ch08_119.htm">Hash::Util</a><br /><a href="ch08_120.htm">I18N::Collate</a><br /><a href="ch08_121.htm">I18N::Langinfo</a><br /><a href="ch08_122.htm">I18N::LangTags</a><br /><a href="ch08_123.htm">I18N::LangTags::List</a><br /><a href="ch08_124.htm">if</a><br /><a href="ch08_125.htm">integer</a><br /><a href="ch08_126.htm">IO</a><br /><a href="ch08_127.htm">IO::File</a><br /><a href="ch08_128.htm">IO::Handle</a><br /><a href="ch08_129.htm">IO::Pipe</a><br /><a href="ch08_130.htm">IO::Seekable</a><br /><a href="ch08_131.htm">IO::Select</a><br /><a href="ch08_132.htm">IO::Socket</a><br /><a href="ch08_133.htm">IPC::Msg</a><br /><a href="ch08_134.htm">IPC::Open2</a><br /><a href="ch08_135.htm">IPC::Open3</a><br /><a href="ch08_136.htm">IPC::Semaphore</a><br /><a href="ch08_137.htm">IPC::SysV</a><br /><a href="ch08_138.htm">less</a><br /><a href="ch08_139.htm">lib</a><br /><a href="ch08_140.htm">List::Util</a><br /><a href="ch08_141.htm">locale</a><br /><a href="ch08_142.htm">Math::BigFloat</a><br /><a href="ch08_143.htm">Math::BigInt</a><br /><a href="ch08_144.htm">Math::BigInt::Calc</a><br /><a href="ch08_145.htm">Math::BigRat</a><br /><a href="ch08_146.htm">Math::Complex</a><br /><a href="ch08_147.htm">Math::Trig</a><br /><a href="ch08_148.htm">MIME::Base64</a><br /><a href="ch08_149.htm">MIME::QuotedPrint</a><br /><a href="ch08_150.htm">NDBM_File</a><br /><a href="ch08_151.htm">Net::Cmd</a><br /><a href="ch08_152.htm">Net::Config</a><br /><a href="ch08_153.htm">Net::Domain</a><br /><a href="ch08_154.htm">Net::FTP</a><br /><a href="ch08_155.htm">Net::hostent</a><br /><a href="ch08_156.htm">Net::netent</a><br /><a href="ch08_157.htm">Net::Netrc</a><br /><a href="ch08_158.htm">Net::NNTP</a><br /><a href="ch08_159.htm">Net::Ping</a><br /><a href="ch08_160.htm">Net::POP3</a><br /><a href="ch08_161.htm">Net::protoent</a><br /><a href="ch08_162.htm">Net::servent</a><br /><a href="ch08_163.htm">Net::SMTP</a><br /><a href="ch08_164.htm">Net::Time</a><br /><a href="ch08_165.htm">O</a><br /><a href="ch08_166.htm">ODBM_File</a><br /><a href="ch08_167.htm">Opcode</a><br /><a href="ch08_168.htm">ops</a><br /><a href="ch08_169.htm">overload</a><br /><a href="ch08_170.htm">PerlIO</a><br /><a href="ch08_171.htm">PerlIO::Scalar</a><br /><a href="ch08_172.htm">PerlIO::Via</a><br /><a href="ch08_173.htm">Pod::Functions</a><br /><a href="ch08_174.htm">Pod::Html</a><br /><a href="ch08_175.htm">Pod::ParseLink</a><br /><a href="ch08_176.htm">Pod::Text</a><br /><a href="ch08_177.htm">POSIX</a><br /><a href="ch08_178.htm">re</a><br /><a href="ch08_179.htm">Safe</a><br /><a href="ch08_180.htm">Scalar::Util</a><br /><a href="ch08_181.htm">SDBM_File</a><br /><a href="ch08_182.htm">Search::Dict</a><br /><a href="ch08_183.htm">SelectSaver</a><br /><a href="ch08_184.htm">SelfLoader</a><br /><a href="ch08_185.htm">Shell</a><br /><a href="ch08_186.htm">sigtrap</a><br /><a href="ch08_187.htm">Socket</a><br /><a href="ch08_188.htm">sort</a><br /><a href="ch08_189.htm">Storable</a><br /><a href="ch08_190.htm">strict</a><br /><a href="ch08_191.htm">subs</a><br /><a href="ch08_192.htm">Switch</a><br /><a href="ch08_193.htm">Symbol</a><br /><a href="ch08_194.htm">Sys::Hostname</a><br /><a href="ch08_195.htm">Sys::Syslog</a><br /><a href="ch08_196.htm">Term::Cap</a><br /><a href="ch08_197.htm">Term::Complete</a><br /><a href="ch08_198.htm">Term::ReadLine</a><br /><a href="ch08_199.htm">Test</a><br /><a href="ch08_200.htm">Test::Builder</a><br /><a href="ch08_201.htm">Test::Harness</a><br /><a href="ch08_202.htm">Test::More</a><br /><a href="ch08_203.htm">Test::Simple</a><br /><a href="ch08_204.htm">Text::Abbrev</a><br /><a href="ch08_205.htm">Text::Balanced</a><br /><a href="ch08_206.htm">Text::ParseWords</a><br /><a href="ch08_207.htm">Text::Soundex</a><br /><a href="ch08_208.htm">Text::Tabs</a><br /><a href="ch08_209.htm">Text::Wrap</a><br /><a href="ch08_210.htm">Thread</a><br /><a href="ch08_211.htm">Thread::Queue</a><br /><a href="ch08_212.htm">Thread::Semaphore</a><br /><a href="ch08_213.htm">Thread::Signal</a><br /><a href="ch08_214.htm">Thread::Specific</a><br /><a href="ch08_215.htm">Tie::Array, Tie::StdArray</a><br /><a href="ch08_216.htm">Tie::File</a><br /><a href="ch08_217.htm">Tie::Handle</a><br /><a href="ch08_218.htm">Tie::Hash</a><br /><a href="ch08_219.htm">Tie::Memoize </a><br /><a href="ch08_220.htm">Tie::RefHash</a><br /><a href="ch08_221.htm">Tie::Scalar</a><br /><a href="ch08_222.htm">Tie::SubstrHash</a><br /><a href="ch08_223.htm">Time::gmtime</a><br /><a href="ch08_224.htm">Time::HiRes</a><br /><a href="ch08_225.htm">Time::Local</a><br /><a href="ch08_226.htm">Time::localtime</a><br /><a href="ch08_227.htm">Time::tm</a><br /><a href="ch08_228.htm">UNIVERSAL</a><br /><a href="ch08_229.htm">User::grent</a><br /><a href="ch08_230.htm">User::pwent</a><br /><a href="ch08_231.htm">utf8</a><br /><a href="ch08_232.htm">vars</a><br /><a href="ch08_233.htm">vmsish</a><br /><a href="ch08_234.htm">XS::Typemap </a><br /></p></div><p>We've talked about the extent to which Perl benefitsfrom user contributions. In fact, many contributed modules are sogenerally useful that they are now distributed with Perl itself. Thischapter describes these "standardmodules"; if you are running Perl 5.005, all thesemodules are already available to you. If you are running an earlierversion of Perl, and you find that a module you wantisn't on your system, or if you simplydon't find what you need among the modules in thischapter, check CPAN for one that does what youwant<a name="INDEX-1264" /></a>.</p><p>While this chapter primarily covers standard Perl modules called atexecution time from your program, it also covers the"pragmatic" modules that affect thecompilation phase. (A pragma is a compiler directive that provideshints to the compiler.) By convention, the names of the pragmaticmodules are all lowercase, while the names of other modules beginwith an uppercase letter and are of mixed case.</p><p>The Win32-specific modules are not included in this chapter, but aredescribed in <a href="ch19_01.htm">Chapter 19, "Lightweight Directory Access with Net::LDAP"</a>.</p><p>The following table provides a quick look at the <a name="INDEX-1265" /></a>standard modules and whatthey do:</p><a name="ch08-2-fm2xml" /></a><table border="1" cellpadding="3"><tr><th><p>Module</p></th><th><p>Function</p></th></tr><tr><td><p>AnyDBM_File</p></td><td><p>Provides framework for multiple DBMs</p></td></tr><tr><td><p>Attribute::Handlers</p></td><td><p>Simpler definition of attribute handlers (new in 5.8)</p></td></tr><tr><td><p>attributes</p></td><td><p>Sets or gets attributes of a subroutine</p></td></tr><tr><td><p>attrs</p></td><td><p>Sets or gets attributes of a subroutine (deprecated)</p></td></tr><tr><td><p>AutoLoader</p></td><td><p>Loads functions only on demand</p></td></tr><tr><td><p>AutoSplit</p></td><td><p>Splits a module for autoloading</p></td></tr><tr><td><p>autouse</p></td><td><p>Postpones loading modules until a function is used</p></td></tr><tr><td><p>B</p></td><td><p>Perl compiler and tools</p></td></tr><tr><td><p>base</p></td><td><p>Establishes IS-A relationship with base class at compile time</p></td></tr><tr><td><p>Benchmark</p></td><td><p>Checks and compares running times of code</p></td></tr><tr><td><p>bigint</p></td><td><p>Transparent big integer support for Perl (new in 5.8)</p></td></tr><tr><td><p>bignum</p></td><td><p>Transparent BigNumber support for Perl (new in 5.8)</p></td></tr><tr><td><p>bigrat</p></td><td><p>Transparent BigNumber/BigRational support for Perl (new in 5.8)</p></td></tr><tr><td><p>blib</p></td><td><p>Uses MakeMaker's uninstalled version of a package</p></td></tr><tr><td><p>bytes</p></td><td><p>Perl pragma to force byte semantics rather than character semantics</p></td></tr><tr><td><p>ByteLoader</p></td><td><p>Loads byte-compiled Perl code</p></td></tr><tr><td><p>Carp</p></td><td><p>Generates error messages</p></td></tr><tr><td><p>CGI</p></td><td><p>Simple Common Gateway Interface class</p></td></tr><tr><td><p>CGI::Apache</p></td><td><p>Sets up environment to use CGI with Perl-Apache API</p></td></tr><tr><td><p>CGI::Carp</p></td><td><p>CGI routines for writing to HTTPD (or other) error log</p></td></tr><tr><td><p>CGI::Cookie</p></td><td><p>CGI interface to Netscape (HTTP/1.1) cookies</p></td></tr><tr><td><p>CGI::Fast</p></td><td><p>CGI interface for FastCGI</p></td></tr><tr><td><p>CGI::Pretty</p></td><td><p>Module to produce nicely formatted HTML code</p></td></tr><tr><td><p>CGI::Push</p></td><td><p>Interface for server push operations</p></td></tr><tr><td><p>CGI::Switch</p></td><td><p>Tries multiple constructors and returns the first available CGI object</p></td></tr><tr><td><p>charnames</p></td><td><p>Defines character names for <tt class="literal">\N{named}</tt> stringliteral escape</p></td></tr><tr><td><p>Class::ISA</p></td><td><p>Reports the search path for a class's ISA tree (newin 5.8)</p></td></tr><tr><td><p>Class::Struct</p></td><td><p>Declares struct-like datatypes as Perl classes</p></td></tr><tr><td><p>Config</p></td><td><p>Accesses Perl configuration information</p></td></tr><tr><td><p>constant</p></td><td><p>Perl pragma to declare constants</p></td></tr><tr><td><p>CPAN</p></td><td><p>Queries, downloads, and builds Perl modules from CPAN sites</p></td></tr><tr><td><p>CPAN::FirstTime</p></td><td><p>Utility for CPAN::Config file initialization</p></td></tr><tr><td><p>CPAN::Nox</p></td><td><p>Wrapper around CPAN.pm without using any XS module</p></td></tr><tr><td><p>Cwd</p></td><td><p>Gets pathname of current working directory</p></td></tr><tr><td><p>Data::Dumper</p></td><td><p>Returns Perl data structures as strings</p></td></tr><tr><td><p>DB</p></td><td><p>Programmatic interface to the Perl debugging API</p></td></tr><tr><td><p>DB_File</p></td><td><p>Accesses Berkeley DB</p></td></tr><tr><td><p>Devel::DProf</p></td><td><p>Perl Code Profiler</p></td></tr><tr><td><p>Devel::PPPort</p></td><td><p>Module that assists with module porting between Perl versions</p></td></tr><tr><td><p>Devel::SelfStubber</p></td><td><p>Generates stubs for a self-loading module</p></td></tr><tr><td><p>diagnostics</p></td><td><p>Forces verbose warning diagnostics</p></td></tr><tr><td><p>Digest</p></td><td><p>Modules that calculate message digests (new in 5.8)</p></td></tr><tr><td><p>Digest::MD5</p></td><td><p>Perl interface to the MD5 Algorithm (new in 5.8)</p></td></tr><tr><td><p>DirHandle</p></td><td><p>Supplies object methods for directory handles</p></td></tr><tr><td><p>Dumpvalue</p></td><td><p>Provides a screen dump of Perl data</p></td></tr><tr><td><p>DynaLoader</p></td><td><p>Automatic dynamic loading of Perl modules</p></td></tr><tr><td><p>encoding</p></td><td><p>Allows you to write your script in nonasii or nonutf8 (new in 5.8)</p></td></tr><tr><td><p>English</p></td><td><p>Uses English or <em class="emphasis">awk</em> names for punctuationvariables</p></td></tr><tr><td><p>Env</p></td><td><p>Imports environment variables</p></td></tr><tr><td><p>Errno</p></td><td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -