Perl脚本调用的优缺点

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

优点

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

缺点

  1. 传参数需要特别检查。调用脚本时传入参数相当于敲命令时加参数,被调用的脚本不会自己主动检查参数是否符合要求,需要写脚本时单独检查。
  2. 调用脚本后没有返回值。一种解决方法是子脚本将信息打印在标准输出,父脚本用反引号捕获这些信息。
  3. 子脚本输出的标准错误信息需要特别处理才能被父脚本捕获。因为反引号语法只能捕获子脚本标准输出,不能捕获标准错误输出。
  4. 后台运行的子脚本不会被Ctrl+C杀死。调用的子脚本如果在后台运行&,它会屏蔽杀死进程的信号,父脚本被杀死后子脚本依旧在运行。
  5. 环境变量继承。子脚本继承父脚本的环境变量,父脚本需要特别处理才能获得子脚本的环境变量。因此调用一个脚本修改环境变量是不可行的。
posted @ 2016-02-18 18:44  cleverc  阅读(1108)  评论(0编辑  收藏  举报