Perl脚本调用的优缺点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl脚本调用的优缺点相关的知识,希望对你有一定的参考价值。

Perl脚本在运行时作为一个独立的进程,调用另一个脚本意味着创建一个子进程,这和函数调用有着本质的区别,函数调用是一个进程中执行了一段独立代码。这是特别需要注意的前提,下面总结了这种机制的优缺点。

优点

  1. 并行性。进程之间是独立的、并发的,因此脚本调用脚本时,这两个脚本可以是并行工作的,子脚本又可以调用子脚本,并行性可以无限扩展,运行效率高。
  2. 兼容性。一行命令就能调用其它脚本语言,甚至是系统命令,简洁方便。

缺点

  1. 传参数需要特别检查。调用脚本时传入参数相当于敲命令时加参数,被调用的脚本不会自己主动检查参数是否符合要求,需要写脚本时单独检查。
  2. 调用脚本后没有返回值。一种解决方法是子脚本将信息打印在标准输出,父脚本用反引号捕获这些信息。
  3. 子脚本输出的标准错误信息需要特别处理才能被父脚本捕获。因为反引号语法只能捕获子脚本标准输出,不能捕获标准错误输出。
  4. 后台运行的子脚本不会被Ctrl+C杀死。调用的子脚本如果在后台运行&,它会屏蔽杀死进程的信号,父脚本被杀死后子脚本依旧在运行。

以上是关于Perl脚本调用的优缺点的主要内容,如果未能解决你的问题,请参考以下文章

从 PHP 调用 Perl 脚本并传入变量,同时还使用可变的 perl 脚本名称

如何有条件地将 C 代码片段编译到我的 Perl 模块?

如何在 Perl 中捕获输出和退出代码时执行外部脚本?

从另一个具有不同 Active perl 版本的 perl 脚本调用 perl 函数

如何从我的 perl 脚本调用同一目录中的脚本

从另一个 Perl 脚本内部调用 Perl 搜索和替换命令时不起作用