Process Management
------------------------
1. The exec Function
Because Perl is no longer in control once the requested command has started, it doesn't make any sense to have any Perl code following the exec, except for handling the error when the requested command cannot be started
2. The Environment Variables
For example, suppose you wished to run the system's make utility (which typically runs other programs), and you want to use a private directory as the first place to look for commands (including make itself). And let's say that you don't want the IFS environment variable to be set when you run the command, because that might cause make or some subcommand do the wrong thing. Here we go:
$ENV{'PATH'} = "/home/rootbeer/bin:$ENV{'PATH'}";
delete $ENV{'IFS'};
my $make_result = system "make";
3. Using Backquotes to Capture Output
1) Standard error of a backquoted command is inherited from Perl's current standard error output. If the command spits out error messages to standard error, you'll probably see them on the terminal, which could be confusing to the user who hasn't personally invoked the frobnitz command. If you want to capture error messages with standard output, you can use the shell's normal "merge standard error to the current standard output," which is spelled 2>&1 in the normal Unix shell:
my $output_with_errors = `frobnitz -enable 2>&1`;
2) So, stay away from commands that read standard input. If you're not sure whether something reads from standard input, then add a redirection from /dev/null for input, like this:
my $result = `some_questionable_command arg arg argh </dev/null`;
分享到:
相关推荐
《Perl编程:深入理解哈希》 Perl是一种强大的脚本编程语言,尤其在处理文本、正则表达式和数据结构方面表现出色。哈希(Hash)是Perl中一种极其重要的数据结构,它允许我们以键值对的形式存储数据,便于快速查找和...
《Perl编程——子程序》 在Perl编程语言中,子程序(Subroutines)是代码重用的关键元素,它们允许我们将复杂任务分解为更小、更易于管理的块。了解和掌握子程序的使用,是提升Perl编程效率的重要步骤。 1. **定义...
《学习Perl笔记——更多控制结构》 Perl是一种强大的脚本编程语言,尤其在文本处理方面表现出色。在Perl中,控制结构是程序流程的核心部分,它们决定了代码的执行顺序和条件。这篇笔记将深入探讨Perl中的更多控制...
在Perl编程语言中,列表(Lists)和数组(Arrays)是两种非常重要的数据结构,它们在处理有序数据时起着核心作用。这篇笔记将深入探讨这两个概念,以及它们在实际编程中的应用。 列表(Lists)在Perl中是一组逗号...
**标题:“学习Perl—输入/输出基础”** Perl是一种强大的脚本编程语言,尤其在文本处理和系统管理任务中表现出色。在这个主题中,我们将深入探讨Perl中的输入/输出(I/O)基础知识,这对于任何Perl程序员来说都是...
《Perl学习笔记——文件句柄与文件测试》 在Perl编程中,文件处理是不可或缺的一部分。文件句柄和文件测试是Perl操作文件的核心工具,它们允许我们读取、写入和检查文件的状态。本文将深入探讨这两个关键概念,并...
【标签】"redmi note 7" 指明了这个软件包是专门针对小米Redmi Note 7手机的,该手机是一款广受欢迎的中端设备,拥有良好的硬件性能和性价比,因此有很多用户会尝试对其进行个性化定制和优化。 【压缩包子文件的...
根据给定的文件信息,我们可以总结出以下关于“CISM Learning Note-WaterMark.pdf”的相关知识点: ### 一、信息安全治理 #### 1.1 概览 ##### 1.1.1 领域定义 - **目标**: 建立并维护一个信息安全治理框架及其...
这份名为"machine-learning-notes-master.zip"的压缩包,包含了徐老师的课程资料,旨在为学习者提供丰富的学习资源。 EM(Expectation-Maximization)算法是统计学中的一种迭代算法,常用于处理含有隐变量的概率...
GB7714-87样式文件,可以方便大家进行文献的编辑。
第三题 :在线性回归模型中,对于某个大小为3的批量,标签的预测值和真实值如下表所示:该批量的损失函数的平均值为:答案:解题程序如下错误原因:没有仔细审题,题目问
Q-learning和Deep Q-Network(DQN)是强化学习中的代表性算法,已被成功应用于游戏和机器人控制。 五、评估与调优 在机器学习中,模型的性能评估至关重要。常用的评估指标包括准确率、精确率、召回率、F1分数等。...
NOTE-SCRIPT-SEMIBOLD-2.TTF
Day01-ES6新特性以及ReactJS入门1. ES6 新特性此部分内容为前端知识,详见《ECMAScript6 基础笔记》在线文档:JavaScript笔
bugreport-Redmi Note 11T Pro+-2024-08-31-000752.zip
python库。 资源全名:notetool-0.6.14-py3-none-any.whl
标题中的"PyPI 官网下载 | notetool-0.1.3-py3.7.egg"指的是一个从Python Package Index (PyPI)官方源下载的名为`notetool`的Python库,版本号为0.1.3,且是针对Python 3.7编译的。PyPI是Python社区用来分发和共享...
标题中的"Python库 | notetool-0.4.0-py3.7.egg"指的是一款名为`notetool`的Python库,版本号为0.4.0,适用于Python 3.7环境。这个库是通过`.egg`格式进行打包的,这是一种Python的软件分发格式,便于安装和管理。 ...