Posted on 10-10-2008
Filed Under (技术) by waterlin

在 Perl 脚本中,允许调用系统的命令来进行操作。这就是 Perl 灵活性的体现,作为一种系统命令的粘合语言,能给程序员带来许多的便利。这样,你就可以最大限度地利用别人的成果,用不着自己使劲造轮子了。

在 Perl 中,可以用 systemexecreadpipe 这三个命令来调用其他脚本、系统命令等。这三个命令的主要区别就是返回值。

  1. 对于 system这个函数来说,它会返回执行后的状态,比如说

    当然,你也可以用类似于下面的语句来检查出错的原因:
  2. 而对于 exec 这个函数来说,仅仅是执行一个系统的命令,一般情况下并没有返回值。exec只有在系统没有你要执行的命令的情况下,才会返回 false 值。
  3. 当我们需要保存系统命令运行的结果,以便分析并作进一步的处理时,就要用到 readpipe这个函数了。例如:

    会产生如下的结果:

    当然,你也可以把生成的结果放到一个文件里,以便写工作日志呀、发布报告呀。

    这样,你就把系统运行的结果扔到了系统命令所在目录下的 result.txt 文件里了。

这三个命令,有各自的特点,需要在使用时灵活选用,更详细的资料就得上 PerlDoc 上找了。

© 2008 – 2012, 浏忙大爆炸. All rights reserved.
除非注明,浏忙大爆炸文章均为原创,转载请以链接形式标明本文地址。

Comments

[…] System调用的系统命令,与你在哪个Shell里跑有很大的关系。在Cygwin下,就只能用Cygwin能识别的命令;在Windows Command Line里,就只能用Windows Shell能识别的命令。 […]


[…] 如果我在b.pl脚本里,用system或是readpipe命令来粘合脚本a.pl,当运行到上面这个语句的时候,命令行会提示输入一个值。 […]


Post a Comment
Name:
Email:
Website:
Comments: