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

📄 func.htm

📁 perl快速入门。由浅入深
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80">
<title>Perl中文手册</title>
<LINK rel="stylesheet" href="mystyle.css" type="text/css">
</head>
<body>


<table border="0" width="100%" height="400" cellspacing="0" cellpadding="0">
  <tr>
    <td width="20%" valign="top" bgcolor="#dddddd">
     <table border="0" width="100%" cellpadding="0">
	<tr>
	  <td width="5%">
	  </td>
	  <td width="95%">
<p align="center">Perl 5教程<br>
<a target="_blank" href="http://flamephoenix.126.com">by flamephoenix</a></p>
<p align="center">目录</p>
<p align="center">第一部分  Perl语言</p>
<p><a href="perl1.htm">第一章 概述</a></p>
<p><a href="perl2.htm">第二章 简单变量</a></p>
<p><a href="perl3.htm">第三章 操作符</a></p>
<p><a href="perl4.htm">第四章 列表和数组变量 </a></p>
<p><a href="perl5.htm">第五章 文件读写 </a></p>
<p><a href="perl6.htm">第六章 模式匹配</a></p>
<p><a href="perl7.htm">第七章 控制结构</a></p>
<p><a href="perl8.htm">第八章 子程序</a></p>
<p><a href="perl9.htm">第九章 关联数组(哈希表)</a></p>
<p><a href="perl10.htm">第十章 格式化输出</a></p>
<p><a href="perl11.htm">第十一章 文件系统</a></p>
<p><a href="perl12.htm">第十二章 引用(指针)</a></p>
<p><a href="perl13.htm">第十三章 面向对象编程</a></p>
<p><a href="perl14.htm">第十四章 包和模块</a></p>
<p><a href="func.htm">附录一 函数集</a></p>
<p align="center">第二部分 Perl的CGI应用</p>
<p><a href="cgi1.htm">第一章 cgilib例</a></p>
<p><a href="cgi2.htm">第二章 动态创建图像</a></p>
<p><a href="cgi3.htm">第三章 计数器的编写方法</a></p>
<p><a href="cgi4.htm">第四章 Web Server设置</a></p>
第五章、...<br>
	  </td>
	</tr>
      </table>
    </td>
    <td width="80%" valign="top">
     <table border="0" width="100%" cellpadding="0">
	<tr>
	  <td width="1%">
	  </td>
	  <td width="99%">
<p align="center">附录一 函数集(未定稿)</p>

<p align="center"><a target="_blank" href="http://flamephoenix.126.com">by flamephoenix</a></p>

<a href="#1">一、进程处理函数</a><br>
 &nbsp; <a href="#1.1">1、进程启动函数</a><br>
 &nbsp; <a href="#1.2">2、进程终止函数</a><br>
 &nbsp; <a href="#1.3">3、进程控制函数</a><br>
 &nbsp; <a href="#1.4">4、其它控制函数 </a><br>
<a href="#2">二、数学函数</a><br>
<a href="#3">三、字符串处理函数</a><br>
<a href="#4">四、标量转换函数</a><br>
<a href="#5">五、数组和列表函数</a><br>
<a href="#6">六、关联数组函数</a><br><br>

<a name="1">一、进程处理函数</a><br><br>

<a name="1.1">1、进程启动函数</a><br>
<p>
<table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>eval</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>eval(string)</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>将string看作Perl语句执行。<br>正确执行后,系统变量$@为空串,如果有错误,$@中为错误信息。</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>$print = &quot;print (\&quot;hello,world\\n\&quot;);&quot;;<br>eval ($print);</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>hello, world</td>
    </tr>
</table>
</p>
<p>
<table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>system</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>system(list)</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>list中第一个元素为程序名,其余为参数。<br>system启动一个进程运行程序并等待其结束,程序结束后错误代码左移八位成为返回值。</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>@proglist = (&quot;echo&quot;, &quot;hello,world!&quot;);<br>system(@proglist);</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>hello, world!</td>
    </tr>
</table>
</p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>fork</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>procid = fork();</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>创建程序的两个拷贝--父进程和子进程--同时运行。子进程返回零,父进程返回非零值,此值为子程序的进程ID号。</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>$retval = fork();<br>if ($retval == 0) {<br> &nbsp; # this is the child process<br> &nbsp;  exit;   # this terminates the child process<br>} else {<br> &nbsp; # this is the parent process<br>}</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>无</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>pipe</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>pipe (infile, outfile);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>与fork合用,给父进程和子进程提供通信的方式。送到outfile文件变量的信息可以通过infile文件变量读取。步骤:<br>1、调用pipe<br>2、用fork将程序分成父进程和子进程<br>3、一个进程关掉infile,另一个关掉outfile</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>pipe (INPUT, OUTPUT);<br>$retval = fork();<br>if ($retval != 0) {<br> &nbsp; # this is the parent process <br> &nbsp; close (INPUT);<br> &nbsp; print (&quot;Enter a line of input:\n&quot;);<br> &nbsp; $line = &lt;STDIN&gt;;<br> &nbsp; print OUTPUT ($line);<br>} else {<br> &nbsp; # this is the child process<br> &nbsp; close (OUTPUT);<br> &nbsp; $line = &lt;INPUT&gt;;<br> &nbsp; print ($line);<br> &nbsp; exit (0);<br>}<br></td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>$<br>program<br>Enter a line of input:<br>Here is a test line<br>Here is a test line<br>$</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>exec</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>exec (list);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>与system类似,区别是启动新进程前结束当前程序。常与fork合用,当fork分成两个进程后,子进程用exec启动另一个程序。</td>
    </tr>
    <tr>
	<td>例子</td>
<td>&nbsp;
</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>&nbsp;</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>syscall</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>syscall (list);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>调用系统函数,list第一个元素是系统调用名,其余为参数。<br>如果参数是数字,就转化成C的整型数(type int)。否则传递字符串的指针。详见UNIX的帮助或Perl文档。<br>使用syscall必须包含文件syscall.pl,即:<br> require ("syscall.ph"); </td>
    </tr>
    <tr>
        <td>例子</td>
<td>&nbsp;</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>&nbsp;</td>
    </tr>
</table></p>
<a name="1.2">2、进程终止函数<br><br>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>die</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>die (message);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>终止程序并向STDERR输出错误信息。message可以为字符串或列表。如果最后一个参数不包含换行符,则程序文件名和行号也被输出。</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>die ("Cannot open input file");</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>Cannot open input file at myprog line 6.</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>warn</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>warn (message);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>与die类似,区别是不终止程序。</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>warn("Danger! Danger!\n");</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>Danger! Danger!</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>exit</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>exit (retcode);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>终止程序并指定返回值。</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>exit(2);</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>无</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>kill</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>kill (signal, proclist);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>给一组进程发送信号。<br>signal是发送的数字信号,9为杀掉进程。<br>proclist是进程ID列表。详见kill的UNIX帮助。</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>&nbsp;</td>
    </tr>
</table></p>
<a name="1.3">3、进程控制函数</a><br>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>sleep</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>sleep (time);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>将程序暂停一段时间。time是停止的秒数。返回值为实际停止的秒数。</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>sleep (5);</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>无</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>wait</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>procid = wait();</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>暂停程序执行,等待子进程终止。<br>不需要参数,返回值为子进程ID,如果没有子进程,返回-1。</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>&nbsp;</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>waitpid</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>waitpid (procid, waitflag);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>暂停程序执行,等待特定的子进程终止。procid为等待的进程ID</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>$procid = fork();<br>if ($procid == 0) {<br> &nbsp;  # this is the child process<br> &nbsp;  print ("this line is printed first\n");<br> &nbsp;  exit(0);<br>} else {<br> &nbsp;  # this is the parent process<br> &nbsp;  waitpid ($procid, 0);<br> &nbsp;  print ("this line is printed last\n");<br>}</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>$ program<br>this line is printed first<br>this line is printed last<br>$</td>
    </tr>
</table></p>
<a name="1.4">4、其它控制函数</a><br>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>caller</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>subinfo = caller();</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>返回调用者的程序名和行号,用于Perl Debugger。<br>返回值为三元素的列表:<br>1、调用处的包名<br>2、调用者文件名<br>3、调用处的行号</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>&nbsp;</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>chroot</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>chroot (dir);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>改变程序的根目录,详见chroot帮助。</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>&nbsp;</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>local</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>local($variable);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>在语句块(由大括号包围的语句集合)中定义局域变量,仅在此语句块中起作用,对其的改变不对块外同名变量造成影响。<br><b>千万不要在循环中使用,否则每次循环都定义一个新的局域变量!</b></td>
    </tr>
    <tr>
        <td>例子</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>&nbsp;</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>times</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>timelist = times</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>返回该程序及所有子进程消耗的工作时间。<br>返回值为四个浮点数的列表:<br>1、程序耗用的用户时间<br>2、程序耗用的系统时间<br>3、子进程耗用的用户时间<br>4、子进程耗用的系统时间</td>
    </tr>
    <tr>
        <td>例子</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>结果输出</td>
        <td>&nbsp;</td>
    </tr>
</table></p>
<a name="2">二、数学函数</a><br>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>sin</td>
    </tr>
    <tr>
        <td>调用语法</td>
        <td>retval = sin (value);</td>
    </tr>
    <tr>
        <td>解说</td>
        <td>参数为弧度值。</td>
    </tr>
</table></p>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函数名</td>
        <td>cos</td>
    </tr>
    <tr>

⌨️ 快捷键说明

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