📄 ch32_01.htm
字号:
<td><p>Enforce old byte-oriented semantics<a name="INDEX-5523"></a></p></td></tr><tr><td><tt class="literal">charnames</tt></td><td><p>Define character names used in <tt class="literal">\N{</tt><em class="replaceable">name</em><tt class="literal">}</tt> escapes in string literals<a name="INDEX-5524"></a></p></td></tr><tr><td><tt class="literal">I18N::Collate</tt></td><td><p>Compare 8-bit scalar data according to current locale(deprecated)<a name="INDEX-5525"></a></p></td></tr><tr><td><tt class="literal">locale</tt></td><td><p>Use or avoid POSIX locales for built-in operations<a name="INDEX-5526"></a></p></td></tr><tr><td><tt class="literal">utf8</tt></td><td><p>Turn on UTF-8 and Unicode support explicitly<a name="INDEX-5527"></a><a name="INDEX-5528"></a></p></td></tr></table><h3 class="sect2">32.1.7. Operating System Interfaces</h3><p><a name="INDEX-5529"></a><a name="INDEX-5530"></a>These modules tweak your interface to the operating system.</p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">Fcntl</tt></td><td><p>Load the C library's <em class="emphasis">fcntl.h</em> definitions as Perl constants<a name="INDEX-5531"></a><a name="INDEX-5532"></a><a name="INDEX-5533"></a></p></td></tr><tr><td><tt class="literal">filetest</tt></td><td><p>Control the file test operators (<tt class="literal">-r</tt>, <tt class="literal">-w</tt>, etc.) fornontraditional filesystems</p></td></tr><tr><td><tt class="literal">open</tt></td><td><p>Set default disciplines for <tt class="literal">open</tt> function calls</p></td></tr><tr><td><tt class="literal">POSIX</tt></td><td><p>Use the Perl interface to POSIX 1003.1<a name="INDEX-5534"></a></p></td></tr><tr><td><tt class="literal">Shell</tt></td><td><p>Run shell commands transparently within Perl<a name="INDEX-5535"></a></p></td></tr><tr><td><tt class="literal">sigtrap</tt></td><td><p>Enable simple signal handling<a name="INDEX-5536"></a></p></td></tr><tr><td><tt class="literal">Sys::Hostname</tt></td><td><p>Portably try every conceivable way to determine the current hostname<a name="INDEX-5537"></a><a name="INDEX-5538"></a></p></td></tr><tr><td><tt class="literal">Sys::Syslog</tt></td><td><p>Use the C library's <em class="emphasis">syslog</em>(3) functions<a name="INDEX-5539"></a><a name="INDEX-5540"></a></p></td></tr><tr><td><tt class="literal">Time::gmtime</tt></td><td><p>Override the built-in <tt class="literal">gmtime</tt> function with a method interface<a name="INDEX-5541"></a></p></td></tr><tr><td><tt class="literal">Time::localtime</tt></td><td><p>Override the built-in <tt class="literal">localtime</tt> function with a method interface<a name="INDEX-5542"></a><a name="INDEX-5543"></a></p></td></tr><tr><td><tt class="literal">Time::tm</tt></td><td><p>Provide the internal object used by <tt class="literal">Time::gmtime</tt> and <tt class="literal">Time::localtime</tt><a name="INDEX-5544"></a></p></td></tr><tr><td><tt class="literal">User::grent</tt></td><td><p>Override built-in <tt class="literal">getgr*</tt> functions with a method interface<a name="INDEX-5545"></a></p></td></tr><tr><td><tt class="literal">User::pwent</tt></td><td><p>Override built-in <tt class="literal">getpw*</tt> functions with a method interface<a name="INDEX-5546"></a></p></td></tr></table><h3 class="sect2">32.1.8. Networking and Interprocess Communication</h3><p>These modules provide abstract interfaces around the basicinterfaces we wrote about in <a href="ch16_01.htm">Chapter 16, "Interprocess Communication"</a>.<a name="INDEX-5547"></a><a name="INDEX-5548"></a><a name="INDEX-5549"></a></p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">IO::Socket</tt></td><td><p>Use a generic object interface to socket communications<a name="INDEX-5550"></a><a name="INDEX-5551"></a></p></td></tr><tr><td><tt class="literal">IO::Socket::INET</tt></td><td><p>Use an object interface for Internet-domain sockets<a name="INDEX-5552"></a></p></td></tr><tr><td><tt class="literal">IO::Socket::UNIX</tt></td><td><p>Use an object interface for Unix-domain (local) sockets<a name="INDEX-5553"></a><a name="INDEX-5554"></a></p></td></tr><tr><td><tt class="literal">IPC::Msg</tt></td><td><p>Use object methods for working with System V messages(SysV Msg IPC object class)<a name="INDEX-5555"></a><a name="INDEX-5556"></a></p></td></tr><tr><td><tt class="literal">IPC::Open2</tt></td><td><p>Open a process for simultaneous reading and writing<a name="INDEX-5557"></a></p></td></tr><tr><td><tt class="literal">IPC::Open3</tt></td><td><p>Open a process for reading, writing, and error handling<a name="INDEX-5558"></a></p></td></tr><tr><td><tt class="literal">IPC::Semaphore</tt></td><td><p>Use object methods for System V semaphores<a name="INDEX-5559"></a><a name="INDEX-5560"></a></p></td></tr><tr><td><tt class="literal">IPC::SysV</tt></td><td><p>Define constants for all System V IPC mechanisms<a name="INDEX-5561"></a><a name="INDEX-5562"></a><a name="INDEX-5563"></a></p></td></tr><tr><td><tt class="literal">Net::hostent</tt></td><td><p>Override built-in <tt class="literal">gethost*</tt> functionswith a method interface<a name="INDEX-5564"></a><a name="INDEX-5565"></a></p></td></tr><tr><td><tt class="literal">Net::netent</tt></td><td><p>Override built-in <tt class="literal">getnet*</tt> functionswith a method interface<a name="INDEX-5566"></a><a name="INDEX-5567"></a></p></td></tr><tr><td><tt class="literal">Net::Ping</tt></td><td><p>Check a remote host for reachability<a name="INDEX-5568"></a><a name="INDEX-5569"></a></p></td></tr><tr><td><tt class="literal">Net::protoent</tt></td><td><p>Override built-in <tt class="literal">getproto*</tt> functionswith a method interface<a name="INDEX-5570"></a><a name="INDEX-5571"></a></p></td></tr><tr><td><tt class="literal">Net::servent</tt></td><td><p>Override built-in <tt class="literal">getserv*</tt> functionswith a method interface<a name="INDEX-5572"></a><a name="INDEX-5573"></a></p></td></tr><tr><td><tt class="literal">Socket</tt></td><td><p>Load the C library <em class="emphasis">socket.h</em> definitions and structure manipulators<a name="INDEX-5574"></a></p></td></tr></table><h3 class="sect2">32.1.9. World Wide Web</h3><p><a name="INDEX-5575"></a><a name="INDEX-5576"></a>These modules interface to the WWW. You may have heard of it.</p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">CGI</tt></td><td><p>Access CGI forms and powerful automated HTML generation<a name="INDEX-5577"></a><a name="INDEX-5578"></a></p></td></tr><tr><td><tt class="literal">CGI::Apache</tt></td><td><p>Make your CGI script work under the Perl-Apache API<a name="INDEX-5579"></a><a name="INDEX-5580"></a></p></td></tr><tr><td><tt class="literal">CGI::Carp</tt></td><td><p>Write to the <em class="emphasis">httpd</em>(8) (or other) CGI error log<a name="INDEX-5581"></a><a name="INDEX-5582"></a></p></td></tr><tr><td><tt class="literal">CGI::Cookie</tt></td><td><p>Set and get HTTP cookies<a name="INDEX-5583"></a><a name="INDEX-5584"></a><a name="INDEX-5585"></a></p></td></tr><tr><td><tt class="literal">CGI::Fast</tt></td><td><p>Use the Fast CGI protocol<a name="INDEX-5586"></a><a name="INDEX-5587"></a></p></td></tr><tr><td><tt class="literal">CGI::Pretty</tt></td><td><p>Produce nicely formatted HTML code<a name="INDEX-5588"></a><a name="INDEX-5589"></a></p></td></tr><tr><td><tt class="literal">CGI::Push</tt></td><td><p>Do server-push CGI scripting<a name="INDEX-5590"></a><a name="INDEX-5591"></a></p></td></tr></table><h3 class="sect2">32.1.10. DBM Interfaces</h3><p>These modules load various database management libraries.<a name="INDEX-5592"></a><a name="INDEX-5593"></a></p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">AnyDBM_File</tt></td><td><p>Provide a framework for multiple DBM libraries<a name="INDEX-5594"></a></p></td></tr><tr><td><tt class="literal">DB_File</tt></td><td><p>Provide tied access to the <em class="emphasis">db</em>(3) library (version 1.x Berkeley DB)<a name="INDEX-5595"></a></p></td></tr><tr><td><tt class="literal">GDBM_File</tt></td><td><p>Provide tied access to the <em class="emphasis">gdbm</em>(3) library<a name="INDEX-5596"></a></p></td></tr><tr><td><tt class="literal">NDBM_File</tt></td><td><p>Provide tied access to the <em class="emphasis">ndbm</em>(3) library<a name="INDEX-5597"></a></p></td></tr><tr><td><tt class="literal">SDBM_File</tt></td><td><p>Provide tied access to SDBM (simple DBM) files<a name="INDEX-5598"></a></p></td></tr></table><h3 class="sect2">32.1.11. User Interfaces</h3><p><a name="INDEX-5599"></a><a name="INDEX-5600"></a>These modules provide a decent OS CLI I/O API, ASAP.</p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">Term::Cap</tt></td><td><p>Use the <em class="emphasis">termcap</em>(3) library<a name="INDEX-5601"></a></p></td></tr><tr><td><tt class="literal">Term::Complete</tt></td><td><p>Do programmable command completion on word lists<a name="INDEX-5602"></a><a name="INDEX-5603"></a></p></td></tr><tr><td><tt class="literal">Term::ReadLine</tt></td><td><p>Use any of several readline packages<a name="INDEX-5604"></a><a name="INDEX-5605"></a></p></td></tr></table><h3 class="sect2">32.1.12. Authentication, Security, and Encryption</h3><p><a name="INDEX-5606"></a><a name="INDEX-5607"></a><a name="INDEX-5608"></a><a name="INDEX-5609"></a>These modules work with sandboxes.</p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">Opcode</tt></td><td><p>Enable or disable named opcodes when compiling Perl codefor use with the <tt class="literal">Safe</tt> module<a name="INDEX-5610"></a></p></td></tr><tr><td><tt class="literal">ops</tt></td><td><p>Restrict unsafe operations when compiling<a name="INDEX-5611"></a></p></td></tr><tr><td><tt class="literal">Safe</tt></td><td><p>Compile and execute code in restricted compartments<a name="INDEX-5612"></a></p></td></tr></table><h3 class="sect2">32.1.13. Perl Language Extensions and Internals</h3><p>(Not to be confused with Intentions and Externals.)<a name="INDEX-5613"></a><a name="INDEX-5614"></a><a name="INDEX-5615"></a></p><table border="1"><tr><th>Module</th><th>Description</th></tr><tr><td><tt class="literal">attributes</tt></td><td><p>Get or set subroutine or variable attributes<a name="INDEX-5616"></a><a name="INDEX-5617"></a><a name="INDEX-5618"></a></p></td></tr><tr><td><tt class="literal">attrs</tt></td><td><p>Get or set subroutine or variable attributes (obsolete)<a name="INDEX-5619"></a></p></td></tr><tr><td><tt class="literal">base</tt></td><td><p>Establish inheritance of base class at compile time<a name="INDEX-5620"></a><a name="INDEX-5621"></a><a name="INDEX-5622"></a></p></td></tr><tr><td><tt class="literal">Data::Dumper</tt></td><td><p>Serialize Perl data structures<a name="INDEX-5623"></a><a name="INDEX-5624"></a></p></td></tr><tr><td><tt class="literal">DB</tt></td><td><p>Access the Perl debugger's experimental API<a name="INDEX-5625"></a><a name="INDEX-5626"></a></p></td></tr><tr><td><tt class="literal">Devel::DProf</tt></td><td><p>Profile a Perl program's execution<a name="INDEX-5627"></a><a name="INDEX-5628"></a></p></td></tr><tr><td><tt class="literal">Devel::Peek</tt></td><td><p>Load data debugging tools for XS programmers<a name="INDEX-5629"></a><a name="INDEX-5630"></a><a name="INDEX-5631"></a></p></td></tr><tr><td><tt class="literal">diagnostics</tt></td><td><p>Force verbose warnings and suppress duplicates<a name="INDEX-5632"></a><a name="INDEX-5633"></a><a name="INDEX-5634"></a></p></td></tr><tr><td><tt class="literal">Dumpvalue</tt></td><td><p>Provide screen dump of data<a name="INDEX-5635"></a><a name="INDEX-5636"></a></p></td></tr><tr><td><tt class="literal">English</tt></td><td><p>Use longer variable names for built-in punctuation variables<a name="INDEX-5637"></a><a name="INDEX-5638"></a></p></td></tr><tr><td><tt class="literal">Env</tt></td><td><p>Access environment variables in <tt class="literal">%ENV</tt> as regular scalars<a name="INDEX-5639"></a><a name="INDEX-5640"></a></p></td></tr><tr><td><tt class="literal">Errno</tt></td><td><p>Load the C library's <em class="emphasis">errno.h</em> definitions and tie the <tt class="literal">%!</tt> variable<a name="INDEX-5641"></a></p></td></tr><tr><td><tt class="literal">Fatal</tt></td><td><p>Replace built-ins with versions that raise exceptions on failure<a name="INDEX-5642"></a><a name="INDEX-5643"></a></p></td></tr><tr><td><tt class="literal">fields</tt></td><td><p>Declare compile-time verified access to a class's data attributes<a name="INDEX-5644"></a></p></td></tr><tr><td><tt class="literal">less</tt></td><td><p>Request less of something from Perl (unimplemented)<a name="INDEX-5645"></a></p></td></tr><tr><td><tt class="literal">re</tt></td><td><p>Alter default regular expression behavior<a name="INDEX-5646"></a><a name="INDEX-5647"></a></p></td></tr><tr><td><tt class="literal">strict</tt></td><td><p>Restrict sloppy constructs<a name="INDEX-5648"></a></p></td></tr><tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -