您的位置:技术中心首页 > 工具学习 >> 在perl脚本中调用外部命令

在perl脚本中调用外部命令

作者:未知   时间:2007-10-21 07:52:08  来自:网上转载  浏览次数:0  文字大小:【】【】【

1.使用system函数调用

代码如下:

    @args = ("command", "arg1", "arg2");
system(@args) == 0
or die "system @args failed: $?"

System将使用perl预定义的特殊变量$?捕获程序执行的返回值--即所执行程序的退出状态。用户若想得到实际的程序退出代码,还需要右移8位,或者除以256。

You can check all the failure possibilities by inspecting $? like this:

用户可以通过使用$?对程序执行失败的原因进行分析。代码如下:

    if ($? == -1) {
print "failed to execute: $!\n";
}
elsif ($? & 127) {
printf "child died with signal %d, %s coredump\n",
($? & 127), ($? & 128) ? 'with' : 'without';
}
else {
printf "child exited with value %d\n", $? >> 8;
}
更多信息,可参考“perldoc -f system ”或者web:

http://perldoc.perl.org/functions/system.html


2.使用`命令行`方式执行


使用这种方式,perl将返回程序执行过程中所有的output。


To capture a command's STDERR and STDOUT together:

同时获取命令的STDERR和STDOUT:

    $output = `cmd 2>&1`;

To capture a command's STDOUT but discard its STDERR:

仅获取命令的STDOUT,忽略STDERR:

    $output = `cmd 2>/dev/null`;

仅获取命令的STDERR,忽略STDOUT:

   $output = `cmd 2>&1 1>/dev/null`;
更多信息,可参考web:

http://perldoc.perl.org/perlop.html#%60STRING%60

责任编辑:5life

更多相关 perl 的文章

使用perl脚本分析timing report [2007-10-21]
本文共有0条评论,现在显示最新的5条。

栏目导航

电路基础
硬件语言
逻辑验证
电路综合
后端设计
可测设计
基本逻辑
制造封装
总线协议
说文解字
工具学习
数字滤波
闲话漫谈
数字锁相
设计杂项
低耗设计

站点最新

更多相关链接

  在perl脚本中调用外部命令
  使用perl脚本分析timing...
  Solaris软链接和硬链接及...
  GNU make v3.80完整版中...
  Linux 文件和目录的属性
  Vim 实用技术 -- 第三部...
  Vim 实用技术 -- 第二部...
  Vimdiff 使用
  Linux 引导过程内幕
  Vim 实用技术 -- 第一部...

栏目最新

更多相关链接

  在perl脚本中调用外部命令
  使用perl脚本分析timing...
  Solaris软链接和硬链接及...
  GNU make v3.80完整版中...
  Linux 文件和目录的属性
  Vim 实用技术 -- 第三部...
  Vim 实用技术 -- 第二部...
  Vimdiff 使用
  Linux 引导过程内幕
  Vim 实用技术 -- 第一部...

热点文章

更多相关链接

  Linux 文件和目录的属性
  史上最强的Vim 配置文件(修...
  GNU make v3.80完整版中文指南
  linux grep命令的使用
  Vim入门图
  Linux下C开发工具介绍
  Vim 实用技术 -- 第三部分: ...
  Vim 实用技术 -- 第二部分: ...
  Vim 实用技术 -- 第一部分:实...
  正则表达式[Regular Express...