⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch32_01.htm

📁 编程珍珠,里面很多好用的代码,大家可以参考学习呵呵,
💻 HTM
📖 第 1 页 / 共 4 页
字号:
<html><head><title>Standard Modules (Programming Perl)</title><!-- STYLESHEET --><link rel="stylesheet" type="text/css" href="../style/style1.css"><!-- METADATA --><!--Dublin Core Metadata--><meta name="DC.Creator" content=""><meta name="DC.Date" content=""><meta name="DC.Format" content="text/xml" scheme="MIME"><meta name="DC.Generator" content="XSLT stylesheet, xt by James Clark"><meta name="DC.Identifier" content=""><meta name="DC.Language" content="en-US"><meta name="DC.Publisher" content="O'Reilly &amp; Associates, Inc."><meta name="DC.Source" content="" scheme="ISBN"><meta name="DC.Subject.Keyword" content=""><meta name="DC.Title" content="Standard Modules"><meta name="DC.Type" content="Text.Monograph"></head><body><!-- START OF BODY --><!-- TOP BANNER --><img src="gifs/smbanner.gif" usemap="#banner-map" border="0" alt="Book Home"><map name="banner-map"><AREA SHAPE="RECT" COORDS="0,0,466,71" HREF="index.htm" ALT="Programming Perl"><AREA SHAPE="RECT" COORDS="467,0,514,18" HREF="jobjects/fsearch.htm" ALT="Search this book"></map><!-- TOP NAV BAR --><div class="navbar"><table width="515" border="0"><tr><td align="left" valign="top" width="172"><a href="ch31_22.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0"></a></td><td align="center" valign="top" width="171"><a href="part5.htm">Part 5: Reference Material</a></td><td align="right" valign="top" width="172"><a href="ch32_02.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0"></a></td></tr></table></div><hr width="515" align="left"><!-- SECTION BODY --><h1 class="chapter">Chapter 32.  Standard Modules</h1><div class="htmltoc"><h4 class="tochead">Contents:</h4><p><a href="ch32_01.htm">Listings by Type</a><br><a href="ch32_02.htm">Benchmark</a><br><a href="ch32_03.htm">Carp</a><br><a href="ch32_04.htm">CGI</a><br><a href="ch32_05.htm">CGI::Carp</a><br><a href="ch32_06.htm">Class::Struct</a><br><a href="ch32_07.htm">Config</a><br><a href="ch32_08.htm">CPAN</a><br><a href="ch32_09.htm">Cwd</a><br><a href="ch32_10.htm">Data::Dumper</a><br><a href="ch32_11.htm">DB_File</a><br><a href="ch32_12.htm">Dumpvalue</a><br><a href="ch32_13.htm">English</a><br><a href="ch32_14.htm">Errno</a><br><a href="ch32_15.htm">Exporter</a><br><a href="ch32_16.htm">Fatal</a><br><a href="ch32_17.htm">Fcntl</a><br><a href="ch32_18.htm">File::Basename</a><br><a href="ch32_19.htm">File::Compare</a><br><a href="ch32_20.htm">File::Copy</a><br><a href="ch32_21.htm">File::Find</a><br><a href="ch32_22.htm">File::Glob</a><br><a href="ch32_23.htm">File::Spec</a><br><a href="ch32_24.htm">File::stat</a><br><a href="ch32_25.htm">File::Temp</a><br><a href="ch32_26.htm">FileHandle</a><br><a href="ch32_27.htm">Getopt::Long</a><br><a href="ch32_28.htm">Getopt::Std</a><br><a href="ch32_29.htm">IO::Socket</a><br><a href="ch32_30.htm">IPC::Open2</a><br><a href="ch32_31.htm">IPC::Open3</a><br><a href="ch32_32.htm">Math::BigInt</a><br><a href="ch32_33.htm">Math::Complex</a><br><a href="ch32_34.htm">Math::Trig</a><br><a href="ch32_35.htm">Net::hostent</a><br><a href="ch32_36.htm">POSIX</a><br><a href="ch32_37.htm">Safe</a><br><a href="ch32_38.htm">Socket</a><br><a href="ch32_39.htm">Symbol</a><br><a href="ch32_40.htm">Sys::Hostname</a><br><a href="ch32_41.htm">Sys::Syslog</a><br><a href="ch32_42.htm">Term::Cap</a><br><a href="ch32_43.htm">Text::Wrap</a><br><a href="ch32_44.htm">Time::Local</a><br><a href="ch32_45.htm">Time::localtime</a><br><a href="ch32_46.htm">User::grent</a><br><a href="ch32_47.htm">User::pwent</a><br></p></div><p><a name="INDEX-5424"></a>The previous edition of this book included comprehensive, definitivecoverage for all modules that were part of the standard Perldistribution.  But if we did that again now, you'd pay twice whatyou're paying for this book, not to mention what you'd have to pay thechiropractor after trying to carry the book home.  Over the last fewyears, more and more modules have come bundled standard; we're up toaround two hundred of them right now.  Some of these, such as<tt class="literal">CGI</tt>, have remarkably extensive documentation intheir own right.  And if you're using ActiveState's distribution ofPerl, your standard library is even more luxed out.</p><p>So instead, we provide a complete listing of the standard modules,sorted by type, along with a brief description of what each moduledoes.  Then we cherry pick a few of our favorite modules by providingexamples of typical uses, followed by a short description of how theywork, just to give you a taste of using them. The descriptions aresuggestive rather than comprehensive, and virtually all the moduleshave features beyond those shown.  However, complete documentation forall standard modules is included with every Perl distribution, so youcan just look up the details on your own system using the<em class="emphasis">perldoc</em> program, your system's<em class="emphasis">man</em>(1) command, or your favoritebrowser. See the section "Online Documentation" in the Preface.  Askyour Local Expert if you can't find the docs, because they're almostcertainly installed <em class="emphasis">somewhere</em> on your system.Even if they're not, you can always read the pod docs directly fromthe modules themselves, because all module docs come embedded in theircorresponding module (<em class="emphasis">.pm</em>) files, and pod wasdesigned to be somewhat readable.  (Unlike, say, HTML.)</p><h2 class="sect1">32.1. Listings by Type</h2><p><a name="INDEX-5425"></a>Normal module names begin with an uppercase letter.  Lowercase namesindicate pragmas that you'll find documented in <a href="ch31_01.htm">Chapter 31, "Pragmatic Modules"</a>, rather than in this chapter.</p><h3 class="sect2">32.1.1. Data Types</h3><a name="INDEX-5426"></a><a name="INDEX-5427"></a><p>These modules extend Perl's type system (or lack thereof) in variousways.</p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">Class::Struct</tt></td><td><p>Create <tt class="literal">struct</tt>-like Perl object classes<a name="INDEX-5428"></a></p></td></tr><tr><td><tt class="literal">constant</tt></td><td><p>Declare constant scalars and lists</p></td></tr><tr><td><tt class="literal">integer</tt></td><td><p>Force Perl to do arithmetic with integers instead of floating point<a name="INDEX-5429"></a></p></td></tr><tr><td><tt class="literal">Math::BigFloat</tt><a name="INDEX-5430"></a></td><td><p>Calculate with arbitrary length floating-point math<a name="INDEX-5431"></a></p></td></tr><tr><td><tt class="literal">Math::BigInt</tt></td><td><p>Calculate with arbitrary length integer math<a name="INDEX-5432"></a></p></td></tr><tr><td><tt class="literal">Math::Complex</tt></td><td><p>Calculate with complex numbers and associated mathematical functions<a name="INDEX-5433"></a></p></td></tr><tr><td><tt class="literal">Math::Trig</tt></td><td><p>Load many trigonometric and related functions<a name="INDEX-5434"></a><a name="INDEX-5435"></a></p></td></tr><tr><td><tt class="literal">overload</tt></td><td><p>Overload Perl operators on objects<a name="INDEX-5436"></a><a name="INDEX-5437"></a></p></td></tr><tr><td><tt class="literal">Symbol</tt></td><td><p>Manipulate Perl symbol tables and generate anonymoustypeglobs<a name="INDEX-5438"></a><a name="INDEX-5439"></a></p></td></tr><tr><td><tt class="literal">Time::Local</tt></td><td><p>Efficiently compute epoch time given <tt class="literal">localtime</tt> or <tt class="literal">gmtime</tt><a name="INDEX-5440"></a><a name="INDEX-5441"></a><a name="INDEX-5442"></a><a name="INDEX-5443"></a></p></td></tr></table><h3 class="sect2">32.1.2. String Processing, Language Text Processing, Parsing, and Searching</h3><p><a name="INDEX-5444"></a><a name="INDEX-5445"></a>These modules do things with (or to) text.</p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">Search::Dict</tt></td><td><p>Use a binary search for a string in a sorted text file<a name="INDEX-5446"></a></p></td></tr><tr><td><tt class="literal">Text::Abbrev</tt></td><td><p>Create an abbreviation table from a list<a name="INDEX-5447"></a><a name="INDEX-5448"></a></p></td></tr><tr><td><tt class="literal">Text::ParseWords</tt></td><td><p>Parse text into a list of tokens or an array of arrays<a name="INDEX-5449"></a><a name="INDEX-5450"></a><a name="INDEX-5451"></a></p></td></tr><tr><td><tt class="literal">Text::Soundex</tt></td><td><p>Use Knuth's Soundex algorithm</p></td></tr><tr><td><tt class="literal">Text::Tabs</tt></td><td>Expand or unexpand tabs like <em class="emphasis">expand</em>(1) and <em class="emphasis">unexpand</em>(1)</td></tr><tr><td><tt class="literal">Text::Wrap</tt></td><td><p>Wrap lines to form simple paragraphs<a name="INDEX-5452"></a><a name="INDEX-5453"></a></p></td></tr></table><h3 class="sect2">32.1.3. Option, Argument, Parameter, and ConfigurationFile Processing</h3><p><a name="INDEX-5454"></a><a name="INDEX-5455"></a>These modules process your command line.</p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">Getopt::Long</tt><a name="INDEX-5456"></a><a name="INDEX-5457"></a></td><td>Process extended command-line options in long form (<tt class="literal">--xxx</tt>)</td></tr><tr><td><tt class="literal">Getopt::Std</tt></td><td><p>Process single-character switches with switch clustering (<tt class="literal">-xyz</tt>)<a name="INDEX-5458"></a><a name="INDEX-5459"></a></p></td></tr></table><h3 class="sect2">32.1.4. Filenames, Filesystems, and File Locking</h3><p><a name="INDEX-5460"></a><a name="INDEX-5461"></a>These modules provide cross-platform methods of file access.</p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">Cwd</tt></td><td><p>Get the pathname of the current working directory<a name="INDEX-5462"></a><a name="INDEX-5463"></a></p></td></tr><tr><td><tt class="literal">File::Basename</tt></td><td><p>Portably parse a pathname into directory, basename, and extension components<a name="INDEX-5464"></a><a name="INDEX-5465"></a></p></td></tr><tr><td><tt class="literal">File::CheckTree</tt></td><td><p>Run many file test checks on a set of directory trees<a name="INDEX-5466"></a><a name="INDEX-5467"></a></p></td></tr><tr><td><tt class="literal">File::Compare</tt></td><td><p>Portably compare contents of filenames or filehandles<a name="INDEX-5468"></a><a name="INDEX-5469"></a></p></td></tr><tr><td><tt class="literal">File::Copy</tt></td><td><p>Portably copy filenames or filehandles or move filenames<a name="INDEX-5470"></a><a name="INDEX-5471"></a></p></td></tr><tr><td><tt class="literal">File::DosGlob</tt></td><td><p>Do Microsoft-style fileglobbing<a name="INDEX-5472"></a><a name="INDEX-5473"></a><a name="INDEX-5474"></a></p></td></tr><tr><td><tt class="literal">File::Find</tt></td><td><p>Traverse a file tree like <em class="emphasis">find</em>(1)<a name="INDEX-5475"></a><a name="INDEX-5476"></a></p></td></tr><tr><td><tt class="literal">File::Glob</tt></td><td><p>Use Unix-style fileglobbing<a name="INDEX-5477"></a><a name="INDEX-5478"></a></p></td></tr><tr><td><tt class="literal">File::Path</tt></td><td><p>Portably create or remove a series of directories<a name="INDEX-5479"></a><a name="INDEX-5480"></a></p></td></tr><tr><td><tt class="literal">File::Spec</tt></td><td>Use portable filename operations (object-oriented interface)<a name="INDEX-5481"></a><a name="INDEX-5482"></a></td></tr><tr><td><tt class="literal">File::Spec::Functions</tt></td><td><p>Use portable filename operations (functional interface)<a name="INDEX-5483"></a></p></td></tr><tr><td><tt class="literal">File::Spec::Mac</tt></td><td><p>Use filename operations for Mac OS files<a name="INDEX-5484"></a><a name="INDEX-5485"></a></p></td></tr><tr><td><tt class="literal">File::Spec::OS2</tt></td><td><p>Use filename operations for OS/2 files<a name="INDEX-5486"></a><a name="INDEX-5487"></a></p></td></tr><tr><td><tt class="literal">File::Spec::Unix</tt></td><td><p>Use filename operations for Unix files<a name="INDEX-5488"></a><a name="INDEX-5489"></a></p></td></tr><tr><td><tt class="literal">File::Spec::VMS</tt></td><td><p>Use filename operations for VMS files<a name="INDEX-5490"></a><a name="INDEX-5491"></a><a name="INDEX-5492"></a></p></td></tr><tr><td><tt class="literal">File::Spec::Win32</tt></td><td><p>Use filename operations for Microsoft files<a name="INDEX-5493"></a><a name="INDEX-5494"></a></p></td></tr><tr><td><tt class="literal">File::stat</tt></td><td><p>Override built-in <tt class="literal">stat</tt> and <tt class="literal">lstat</tt> functions with a method interface<a name="INDEX-5495"></a><a name="INDEX-5496"></a><a name="INDEX-5497"></a></p></td></tr></table><h3 class="sect2">32.1.5. Filehandle, Directory Handle, andStream I/O Utilities</h3><p>These modules provide object-oriented file, directory, and IPC access.<a name="INDEX-5498"></a><a name="INDEX-5499"></a><a name="INDEX-5500"></a></p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">DirHandle</tt></td><td><p>Use object methods for directory handles<a name="INDEX-5501"></a><a name="INDEX-5502"></a></p></td></tr><tr><td><tt class="literal">FileCache</tt></td><td><p>Keep more files concurrently open for output than your system permits</p></td></tr><tr><td><tt class="literal">FileHandle</tt></td><td><p>Use object methods for filehandles<a name="INDEX-5503"></a></p></td></tr><tr><td><tt class="literal">IO</tt></td><td><p>Provide a frontend to load all of <tt class="literal">IO::Dir</tt>, <tt class="literal">IO::File</tt>, <tt class="literal">IO::Handle</tt>,<tt class="literal">IO::Pipe</tt>, <tt class="literal">IO::Seekable</tt>, and <tt class="literal">IO::Socket</tt><a name="INDEX-5504"></a></p></td></tr><tr><td><tt class="literal">IO::Dir</tt></td><td><p>Use object methods for directory handles<a name="INDEX-5505"></a><a name="INDEX-5506"></a></p></td></tr><tr><td><tt class="literal">IO::File</tt></td><td><p>Use file-related object methods for filehandles<a name="INDEX-5507"></a><a name="INDEX-5508"></a></p></td></tr><tr><td><tt class="literal">IO::Handle</tt></td><td><p>Use generic object methods for filehandles<a name="INDEX-5509"></a></p></td></tr><tr><td><tt class="literal">IO::Pipe</tt></td><td><p>Use object methods for pipes<a name="INDEX-5510"></a><a name="INDEX-5511"></a></p></td></tr><tr><td><tt class="literal">IO::Poll</tt></td><td><p>Provide an object interface to <em class="emphasis">poll</em>(2) syscall<a name="INDEX-5512"></a><a name="INDEX-5513"></a></p></td></tr><tr><td><tt class="literal">IO::Seekable</tt></td><td><p>Use object methods for seekable I/O objects<a name="INDEX-5514"></a><a name="INDEX-5515"></a></p></td></tr><tr><td><tt class="literal">IO::Select</tt></td><td><p>Use a convenient OO interface to the <em class="emphasis">select</em>(2) syscall<a name="INDEX-5516"></a><a name="INDEX-5517"></a></p></td></tr><tr><td><tt class="literal">SelectSaver</tt></td><td><p>Save and restore selected filehandle<a name="INDEX-5518"></a><a name="INDEX-5519"></a></p></td></tr></table><h3 class="sect2">32.1.6. Internationalization and Locale</h3><p>These modules help you perform Un-American Activities.<a name="INDEX-5520"></a><a name="INDEX-5521"></a><a name="INDEX-5522"></a></p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">bytes</tt></td>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -