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

📄 ch05_01.htm

📁 by Randal L. Schwartz and Tom Phoenix ISBN 0-596-00132-0 Third Edition, published July 2001. (See
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html><head><title>Function Reference (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 &amp; 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="ch04_13.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="ch05_02.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0" /></a></td></tr></table></div><h1 class="chapter">Chapter 5. Function Reference</h1><div class="htmltoc"><h4 class="tochead">Contents:</h4><p><a href="ch05_01.htm">Perl Functions by Category</a><br /><a href="ch05_02.htm">Perl Functions in Alphabetical Order</a><br /></p></div><p>This chapter gives a brief description of Perl'sbuilt-in functions. Each description gives the syntax of thefunction, with the types and order of its arguments<a name="INDEX-862" /><a name="INDEX-863" />. </p><p>Required arguments are shown in italics, separated by commas. If anargument must be a specific variable type, thatvariable's identifier will be used (e.g., a percentsign for a hash,<tt class="literal">%</tt><em class="replaceable"><tt>hash</tt></em>). Optionalarguments are placed in brackets. Do not use the brackets in functioncalls unless you really want to use an anonymous hash reference.</p><p>There are different ways to use a built-in function. For starters,any argument that requires a scalar value can be made up of anyexpression that returns one. For example, you can obtain the squareroot of the first value in an array:</p><blockquote><pre class="code">$root = sqrt (shift @numbers);</pre></blockquote><p><tt class="literal">shift</tt> removes the first element of<tt class="literal">@numbers</tt> and returns it to be used by<tt class="literal">sqrt</tt>.</p><p>Many functions take a list of scalars for arguments. Any arrayvariable or other expression that returns a list can be used for allor part of the arguments. For example:</p><blockquote><pre class="code">chmod (split /,/ FILELIST&gt;); # An expression returns a listchmod 0755, @executables;    # Array used for part of arguments</pre></blockquote><p>In the first line, the <tt class="literal">split</tt> expression reads astring from a filehandle and splits it into a list. The list providesproper arguments for <tt class="literal">chmod</tt>. The second line usesan array that contains a list of filenames for<tt class="literal">chmod</tt> to act upon.</p><p><a name="INDEX-864" /><a name="INDEX-865" />Parentheses are notrequired around a function's arguments. However,without parentheses, functions are viewed as operators in anexpression (the same is true of predeclared subroutines). If you usea function in a complex expression, you may want to use parenthesesfor clarity. See <a href="ch04_01.htm">Chapter 4, "The Perl Language"</a> for more aboutprecedence in Perl expressions.</p><div class="sect1"><a name="perlnut2-CHP-5-SECT-1" /><h2 class="sect1">5.1. Perl Functions by Category</h2><p><a name="INDEX-866" /><a name="INDEX-867" /><a name="INDEX-868" />Here arePerl's functions and function-like keywords,arranged by category. Note that some functions appear in more thanone category.</p><dl><dt><i><em class="emphasis">Scalar manipulation</em></i></dt><dd><tt class="literal">chomp</tt>, <tt class="literal">chop</tt>,<tt class="literal">chr</tt>, <tt class="literal">crypt</tt>,<tt class="literal">hex</tt>, <tt class="literal">index</tt>,<tt class="literal">lc</tt>, <tt class="literal">lcfirst</tt>,<tt class="literal">length</tt>, <tt class="literal">oct</tt>,<tt class="literal">ord</tt>, <tt class="literal">pack</tt>,<tt class="literal">q//</tt>, <tt class="literal">qq//</tt>,<tt class="literal">reverse</tt>, <tt class="literal">rindex</tt>,<tt class="literal">sprintf</tt>, <tt class="literal">substr</tt>,<tt class="literal">tr///</tt>, <tt class="literal">uc</tt>,<tt class="literal">ucfirst</tt>, <tt class="literal">y///</tt></p></dd><dt><i><em class="emphasis">Regular expressions and pattern matching</em></i></dt><dd><a name="INDEX-869" /><a name="INDEX-870" /><tt class="literal">m//</tt>,<tt class="literal">pos</tt>, <tt class="literal">qr//</tt>,<tt class="literal">quotemeta</tt>, <tt class="literal">s///</tt>,<tt class="literal">split</tt>, <tt class="literal">study</tt></p></dd><dt><i><em class="emphasis">Numeric functions</em></i></dt><dd><a name="INDEX-871" /><tt class="literal">abs</tt>,<tt class="literal">atan2</tt>, <tt class="literal">cos</tt>,<tt class="literal">exp</tt>, <tt class="literal">hex</tt>,<tt class="literal">int</tt>, <tt class="literal">log</tt>,<tt class="literal">oct</tt>, <tt class="literal">rand</tt>,<tt class="literal">sin</tt>, <tt class="literal">sqrt</tt>,<tt class="literal">srand</tt></p></dd><dt><i><em class="emphasis">Array processing</em></i></dt><dd><a name="INDEX-872" /><tt class="literal">pop</tt>,<tt class="literal">push</tt>, <tt class="literal">shift</tt>,<tt class="literal">splice</tt>, <tt class="literal">unshift</tt></p></dd><dt><i><em class="emphasis">List processing</em></i></dt><dd><a name="INDEX-873" /><tt class="literal">grep</tt>,<tt class="literal">join</tt>, <tt class="literal">map</tt>,<tt class="literal">qw//</tt>, <tt class="literal">reverse</tt>,<tt class="literal">sort</tt>, <tt class="literal">unpack</tt></p></dd><dt><i><em class="emphasis">Hash processing</em></i></dt><dd><a name="INDEX-874" /><tt class="literal">delete</tt>,<tt class="literal">each</tt>, <tt class="literal">exists</tt>,<tt class="literal">keys</tt>, <tt class="literal">values</tt></p></dd><dt><i><em class="emphasis">Input and output</em></i></dt><dd><a name="INDEX-875" /><a name="INDEX-876" /><tt class="literal">binmode</tt>,<tt class="literal">close</tt>, <tt class="literal">closedir</tt>,<tt class="literal">dbmclose</tt>, <tt class="literal">dbmopen</tt>,<tt class="literal">die</tt>, <tt class="literal">eof</tt>,<tt class="literal">fileno</tt>, <tt class="literal">flock</tt>,<tt class="literal">format</tt>, <tt class="literal">getc</tt>,<tt class="literal">print</tt>, <tt class="literal">printf</tt>,<tt class="literal">read</tt>, <tt class="literal">readdir</tt>,<tt class="literal">rewinddir</tt>, <tt class="literal">seek</tt>,<tt class="literal">seekdir</tt>, <tt class="literal">select</tt>,<tt class="literal">syscall</tt>, <tt class="literal">sysread</tt>,<tt class="literal">sysseek</tt>, <tt class="literal">syswrite</tt>,<tt class="literal">tell</tt>, <tt class="literal">telldir</tt>,<tt class="literal">truncate</tt>, <tt class="literal">warn</tt>,<tt class="literal">write</tt></p></dd><dt><i><em class="emphasis">Fixed-length data and records</em></i></dt><dd><a name="INDEX-877" /><a name="INDEX-878" /><tt class="literal">pack</tt>,<tt class="literal">read</tt>, <tt class="literal">syscall</tt>,<tt class="literal">sysread</tt>, <tt class="literal">syswrite</tt>,<tt class="literal">unpack</tt>, <tt class="literal">vec</tt></p>

⌨️ 快捷键说明

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