sub asin { atan2($_[0], sqrt(1 - $_[0] * $_[0])) }
sleep EXPR
sleep
这个函数令脚本睡眠 EXPR 秒,如果没有 EXPR 则是永久睡眠,并且返回睡眠的秒数。 你可以通过给该进程发送一个 SIGALRM 的方法来中断睡眠。在一些老式系统里,它可能比你要求的描述整整少睡一秒,具体情况取决于它是如何计算秒的。大多数现代的系统都是睡足秒数。scalar() perl不过,在这些系统上它们很有可能睡眠的时间要长一些,因为在一台繁忙的多任务系统上,你的系统可能无法马上得到调度。如果可能,select (等待文件描述符)调用可以给你更好的分辨率。你还可以用 syscall 调用一些 Unix 系统支持的 getitimer(2) 和 setitimer(2) 过程。你不应该混合 alarm 和 sleep 调用,因为 sleep 通常是用 alarm 实现的。
又见 POSIXE 模块的 sigpause 函数。
socket SOCKET, DOMAIN, TYPE, PROTOCOL
这个函数打开一个指定类型的套接字,并且把它附着在 SOCKET 文件句柄上。DOMAIN,TYPE,和PROTOCOL 都是和 socket(2) 一样的声明。如果没有定义 SOCKET,那么 Perl 将自动激活它。在使用这个函数之前,你的程序应该包含下面这行:
use Socket;
它给你正确的常量。该函数成功时返回真,参阅在第十六章里的“套接字”节里的例子。
在那些支持对文件的 exec 时关闭(close-on-exec)的系统上,该标记将为新打开的文件描述符设置,就象 $^F 判定的那样。参阅第二十八章里的 $^F($SYSTEM_FD_MAX)。
socketpair SOCKET1, SOCKET2, DOMAIN, TYPE, PROTOCOL
这个函数在声明的域中创建一个指定类型的匿名套接字对。DOMAIN,TYPE,和 PROTOCOL 都和socketpair(2) 里声明的一样。如果两个套接字参数都没有声明,那么它们自动激活。该函数成功时返回真,失败时返回假。在那些没有实现 socketpair(2) 的系统上,调用这个函数会抛出一个例外。
这个函数的通常用法是在 fork 之前使用。生成的进程中有一个关闭 SOCKET1,而另外一个关闭 SOCKET2。你可以双向使用这些套接字,而不象 pipe 函数创建的文件句柄那样是单向的。有些系统用 socketpair 的方式定义 pipe,这时候调用 pipe(Rdr, Wtr) 相当于:
use Socket; socketpair(Rdr, Wtr, AF_UNIX, SOCK_STREAM, PF_UNSPEC); shutdown(Rdr, 1); # 不允许读者写 shutdown(Wtr, 0); # 不允许写者读
在那些支持对文件的 exec 时关闭(close-on-exec)的系统上,该标记将为新打开的文件描述符设置,就象 $^F 判定的那样。参阅第二十八章里的 $^F($SYSTEM_FD_MAX)。又见在第十六章里的“双向通讯”一节尾部的例子。
sort USERSUB LIST
sort BLOCK LIST
sort LIST
这个函数对 LIST 进行排序并返回排好序的列表值。缺省时,它以标准字串比较顺序排序(未定义数值排在已定义空字串前面,而空字串又在其他任何东西前面)。如果 use locale 用法起作用,那么 sort LIST 根据当前的区域集的数值对 LIST 排序。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-28372-7.html
我化作了雨