linux执行perl脚本,如何从Perl脚本中运行Perl脚本?
您当前的perl解释器的位置可以在特殊变量$ ^ X中找到。如果perl不在您的路径中,或者如果您有多个可用的perl版本,但是要确保您全面使用相同的Perl版本,这一点非常重要。
执行外部命令时,包括其他Perl程序,确定它们是否真正运行可能相当困难。检查$?可以留下持久的精神伤疤,所以我更喜欢使用IPC::System::Simple(可从CPAN获得):
use strict;
use warnings;
use IPC::System::Simple qw(system capture);
# Run a command,wait until it finishes,and make sure it works.
# Output from this program goes directly to STDOUT,and it can take input
# from your STDIN if required.
system($^X,"yourscript.pl",@ARGS);
# Run a command,and make sure it works.
# The output of this command is captured into $results.
my $results = capture($^X,@ARGS);
在上述两个示例中,您希望传递给外部程序的任何参数都可以转到@ARGS。在上述两个示例中也避免了shell,这样可以提供较小的速度优势,并避免涉及shell元字符的任何不必要的交互。上面的代码也期望你的第二个程序返回一个零退出值来表示成功;如果不是这样,您可以指定允许的退出值的另外的第一个参数:
# Both of these commands allow an exit value of 0,1 or 2 to be considered
# a successful execution of the command.
system( [0,1,2],$^X,@ARGS );
# OR
capture( [0,2,@ARGS );
如果您有一个长期运行的过程,并且您希望在生成数据时处理其数据,那么您可能需要一个管道打开,或者是CPAN中更重的IPC模块之一。
说完所有这一切,任何时候你需要从Perl调用另一个Perl程序,你可能希望考虑如果使用模块是一个更好的选择。开始另一个程序在启动成本和在进程之间移动数据的I / O成本方面承担了相当多的间接费用。它也显着增加了错误处理的难度。如果您可以将外部程序转换为模块,您可能会发现它简化了整体设计。
祝一切顺利,
保罗
linux执行perl脚本,如何从Perl脚本中运行Perl脚本?相关推荐
- flask执行python脚本_如何在Flask中运行python脚本
我有一个Flask脚本,可以创建网站并动态打印一些数据.-打印的数据应来自另一个python脚本. 我目前面临的问题是,如果我将执行python脚本的行放在执行Flask应用程序的行之前,它将运行Py ...
- android运行python脚本,在android应用程序中运行python脚本
我想得到远程安装软件的列表电脑.为了我想在我的android中使用python脚本申请.现在,我有一个python脚本,它正在远程获取已安装软件的列表电脑.但是,我不知道如何在android中支持它. ...
- power python_在 Power BI Desktop 中运行 Python 脚本
在 Power BI Desktop 中运行 Python 脚本Run Python scripts in Power BI Desktop 06/02/2020 本文内容 你可以直接在 Power ...
- 如何在Outlook 2019/Office 365中运行VBA脚本邮件规则
如果你公司的邮件系统是Microsoft Exchange Server + Outlook,能在Outlook中执行VBA邮件规则,自动化处理邮件,可以节省大把的时间.自Outlook 2016开始 ...
- 批量删除PPT第一页最后页——VBS脚本,在office宏中运行即可
批量删除PPT第一页最后页--VBS脚本,在office宏中运行即可 Sub 批量删除第一页最后页() Dim ChangedCount As Integer Dim FileName As Stri ...
- vba mysql 自动化错误_在Excel中运行VBA脚本时出现自动化错误
在Excel 2007中运行VBA代码时出现自动化错误.我尝试连接到远程SQL Server数据库并将数据从Excel加载到SQL Server.在Excel中运行VBA脚本时出现自动化错误 我得到的 ...
- html 里运行php文件,如何在HTML文件中运行PHP脚本
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 当访问一个网页时,服务器会根据文件扩展名来判断如何处理页面,一般来说,当检查到扩展名为htm或html时,服务器将文件直接 ...
- solaris perl print不输出_IC设计中的perl编程
IC设计中最常用的脚本语言就是perl了,perl以其强大的文字处理能力,使得程序员可以充分地从复制粘贴以及各种搜索替换的工作中解放出来.这里例举了几个perl在IC设计中的实际运用: (1)批量例化 ...
- linux执行python不打印_在Python中执行shell程序而不打印到屏幕
有没有一种方法可以让我从Python执行一个shell程序,它将输出打印到屏幕上,然后将它的输出读入变量而不在屏幕上显示任何内容?在 这听起来有点令人困惑,所以也许我可以用一个例子来解释它.在 假设我 ...
- vi新建一个shell脚本_如何在Vim中为Shell脚本创建自定义页眉模板
在本文中,我们将向您展示一个简单的方法来为Vim编辑器中所有新创建的bash脚本配置一个自定义标题. 这意味着每次使用vi / vim编辑器打开一个新的.sh文件时,自定义标题将自动添加到文件中. 如 ...
最新文章
- 第十二周 11.15-11.21
- Asterisk 1.8 sip 协议栈分析
- der解码规则_DER编码简介
- python列表元素替换的数据结构_Python基础学习数据结构(第2讲:列表;第2讲:列表创建、添加元素、插入元素、替换元素、删除元素、其他常用方法和列表派生),第二,主讲,追加,推导,式...
- gensim在“中文查找(关键词)“与“txt文本“之间做相似度计算(返回最相似的文本)
- 如何降低Windows Server 2008的IE安全级别?
- WinDbg 命令三部曲:(一)WinDbg 命令手册
- 【C语言】输入一个字符串,统计其中的单词个数,将第一个单词的首字母改为大写,并输出改写后的字符串...
- 【计算机网络】复习荟萃(四)
- JS与Jquery学习笔记(一)
- Akari谜题(关灯问题)的开灯解法
- 记录一次pl2303串口驱动解决故障
- msdia 80.dll的正确位置
- python执行bat文件_利用python执行.bat文件
- input框隐藏和不可编辑
- 最后一课——没有拥抱,已成永远
- CenOS7 搭建无人值守安装服务器
- 网络变压器匝间电容(CWW)及网络变压器线圈分布电容(CD)
- 数据结构 - 队列 环形队列(循环队列)
- @Before、@Around和@After执行顺序
热门文章
- Maven的安装与配置(详细版)
- 三星固态优化软件.samsung magician 中文下载地址
- 啊哈c语言逻辑的挑战课后题答案,啊哈C语言!逻辑的挑战(修订版) (啊哈磊著) 完整pdf高清版...
- 《未来编年史》——关于地球未来2000年的预言
- oracle pl sql面试题,SQL面试:PL/SQL面试问题和答案大全
- mysql联合查询怎么去重_MySql 联合查询
- Eclipse Debug功能的使用教程
- JQuery EasyUI框架
- 计算机操作基础知识培训,计算机基础操作技能培训知识要点
- avast:中兴手机预装恶意软件 嵌入固件底层