perl 函数集 一、进程处理函数 1、进程启动函数 2、进程终止函数 3、进程控制函数 4、其它控制函数 二、数学函数 三、字符串处理函数 四、标量转换函数 五、数组和列表函数 六、关联数组函数 一、进程处理函数 1、进程启动函数 函数名 eval 调用语法 eval(string) 解说 将 string 看作 Perl 语句执行。 正确执行后,系统变量$@为空串,如果有错误,$@中为错误信息。 例子 $print = "print (\"hello,world\\n\");"; eval ($print); 结果输出 hello, world 函数名 system 调用语法 system(list) 解说 list 中第一个元素为程序名,其余为参数。 system 启动一个进程运行程序并等待其结束,程序结束后错误代码左移八位成为返回值。 例子 @proglist = ("echo", "hello,world!"); system(@proglist); 结果输出 hello, world! 函数名 fork 调用语法 procid = fork(); 解说 创建程序的两个拷贝--父进程和子进程--同时运行。子进程返回零,父进程返回非零值,此值为子程序的进程 ID 号。 例子 $retval = fork(); if ($retval == 0) { # this is the child process exit; # this terminates the child process } else { # this is the parent process } 结果输出 无 函数名 pipe 调用语法 pipe (infile, outfile); 解说 与fork 合用,给父进程和子进程提供通信的方式。送到outfile 文件变量的信息可以通过infile 文件变量读取。步骤: 1、调用pipe 2、用fork 将程序分成父进程和子进程 3、一个进程关掉 infile,另一个关掉 outfile 例子 pipe (INPUT, OUTPUT); $retval = fork(); if ($retval != 0) { # this is the parent process close (INPUT); print ("Enter a line of input:\n"); $line = ; print OUTPUT ($line); } else { # this is the child process close (OUTPUT); $line = ; print ($line); exit (0); } 结果输出 $ program Enter a line of input: Here is a test line Here is a test line $ 函数名 exec 调用语法 exec (list); 解说 与system 类似,区别是启动新进程前结束当前程序。常与fork 合用,当 fork 分成两个进程后,子进程用exec 启动另一个程序。 例子 结果输出 函数名 syscall 调用语法 syscall (...