Learning Perl(Perl语言入门)学习笔记(13)

Learning.Perl.Student.Workbook Perl6版pdf、[Learning.Perl.Student.Workbook(2nd,2012.01)].brian.d.foy.文字版(此为比书后练习难度更大更综合的练习集,为英文版) 另附部分章节的正确答案。均测试。-Perl6 edition pdf, [Learning.Perl.Student.Workbook (2nd, 2012.01)]. Brian.d.foy. Text version (this is more difficult than the back of the book to practice a more comprehensive set of exercises for the English version) Attached sections of the correct answer. Were tested. 立即下载

 

第十四章  进程管理

 

1、  Perl中,可以利用system 函数启动子进程,子程序执行相应的命令并继承Perl的标准输入、标准输出以及标准错误;通常提供给system 函数的参数就是一般在shell所键入的命令,当参数里有类似于“$HOME”的环境变量时,应该将参数放在单引号中(双引号中$开头的字符串会被当作变量进行替换)或者入在双引号中并将符号“$”进行转义;

2、  当子进程运行时,Perl会一直等待直到子进程结束,当然也可以将子进程放在后台进行,这种情况下Perl将无以得知子进程的存在及运行状况;当命令“很简单”时,Perl不会用到shell,而是直接启动命令,并会在必要时使用继承而来的PATH变量;

3、  使用system 函数时,如果为其指定了多个参数(多个参数间要互相隔离),则函数的整个执行过程不会用到shell,如:

system “/bin/sh”, “-c”, $command_line;

在Unix中,函数执行返回0表示一切正常,非0表示不执行不成功,这恰与Perl的函数相反;

4、  不同于system 函数会让Perl暂停并创建一个子进程来执行所要求的命令,exec 函数会让Perl进程自己去执行所要求的命令,此时,Perl会找到并启动指定的程序而后“跳进该程序”,而原有的Perl进程将不再存在,程序执行结束后因而也没有Perl进程可以返回,于是会直接返回至提示符下;exec 函数很少单独使用,更多的是和fork一起使用;

5、  在启动其它进程时,有时候需要设定其运行环境;Perl中,环境变量可通过特殊散列%ENV取得,其中每个散列键都代表一个环境变量;在程序开始运行时,%ENV会保留从父进程(通常是shell)继承而来的设定值,因而,可以通过改变散列来改变所要用到的环境变量;

6、  使用system 和 exec 时,也可以对其执行结果进行捕获并保存至变量(可以是标量,也可以是列表)中,方法是使用反引号“`”来代替双引号或单引号,反引号里要执行的命令相当于system 的单参数形式,并且会以被双引号揪住的字符串的形式进行解释,里面的反斜线转义序列与变量都会被适当地展开;如:

     $mydate = `date`;

7、  反引号要等效于单引号会很麻烦,也没有简单的办法使之对应到system 的多参数版本,而且如果反引号内的命令很复杂的话,shell(通常是/bin/sh)就会被自动启动并用来解释该命令;使用单引号时即便不用变量捕获其输出,Perl依然会浪费力气地获取其输出结果;此外,反引号内的程序会继承Perl的标准输入和输出,因此,其错误信息输出会被送往当前标准输出,也会在需要时从当前标准输入等待输入信息,而这些命令不是由当前用户自己启动,因此用户可能会在看到这些信息时迷惑不解;因此,慎用反引号;

8、  如果反引号中程序的输出有许多行,那么在标量上下文会返回成一个长字符串,而在列表上下文会返回由各行输出组成的列表;

9、  如前面的执行方式,处理同步进程的方法都是由Perl 掌控全局:启动一个命令,然后等着它结束,或许还会获取其输出;不过,Perl也可以启动子进程,直到结束之前,它们都会持续和Perl交换信息;要启动并发子进程,需要将命令放在open 调用的文件名部分,并且在它前面或者后面加上竖线符号“|”,这种方法即将进程视为文件句柄,也称为管道式打开;如:

     open DATE, “date|” or die  “Cannot pipe from date: $!”;

     open MAIL, “|mail  merlyn” or die “Cannot pipe to mail: $!”;

   竖线符号在右边表示该命令执行时它的标准输出会连接到供程序读取的相应句柄,于是第一个例子就像在shell中输入 date | your_program 一样;竖线符号在左边表示该命令的标准输入会连接到供程序写入的相应文件句柄,如第二例形如your_mail | mail Merlyn 命令;

10、              如此,想要从“以读取模式打开的文件句柄”中取得数据,只要采用正常的文件读取方式就可以了,如:my $now = <DATE>; 想传递数据给“以等待读入数据模式打开的文件句柄”进程,只要利用输出至文件句柄的print运算即可,如:print MAIL “The time is now $now”;  ;

Perl可以对Unix 以及其它系统上“管理进程用的低级系统调用”进行近乎直接的控制,如使用fork函数来创建进程;当调用fork函数时,如果是调用系统的fork 函数来创建一个新的进程,就是通过复制解释器来模仿它;调用fork函数时,如果调用成功,就会创建一个等同于父进程的子进程,该子进程继承了父进程的所有属性,比如环境变量;两个进程间的唯一差别在于fork调用的返回值,在子进程中,返回0,在父进程中,返回子进程的PID;如果fork 不成功,会返回undef;

Learning_Perl_Student_Workbook(2nd,2012.01) Learning_Perl_Student_Workbook(2nd,2012.01) 英文pdf格式. 立即下载

相关推荐

learning perl

learning perl,很不错的一本perl入门书籍

perl学习资源

perl学习资源:perl文档、FAQ社区、perl参考书籍。

第七宇林的博客 643

Learning Perl Student Workbook

brian d foy is a prolific Perl trainer and writer, and runs The Perl Review to help people use and understand Perl through educational, consulting, code review, and more. He's a frequent speaker at Perl conferences. He's the co-author of Learning Perl and Intermediate Perl and the author of Mastering Perl. He was been an instructor and author for Stonehenge Consulting Services from 1998 to 2009, a Perl user since he was a physics graduate student, and a die-hard Mac user since he first owned a computer. He founded the first Perl user group, the New York Perl Mongers, as well as the Perl advocacy nonprofit Perl Mongers, Inc., which helped form more than 200 Perl user groups across the globe. He maintains the perlfaq portions of the core Perl documentation, several modules on CPAN, and some stand-alone scripts.

Learning Perl(Perl语言入门)学习笔记(1)

第二章 标量数据 1、 一般来说,Perl用标量(Scalar)指称单件事物;2、 Perl中,所有数值的内部格式都相同,一律使用双精度浮点数进行运算;3、 直接量是Perl原程序中数值的表示形式,在非十进制的整数直接量表示中,八进制以0开头,十六进制以0x开头,而二进制以0b开头;4、 操作符**表示幂乘,如2的3次方为2**3;5、 字符串没有长度限制(0—∞);6

639

500道C++面试高频题解析(附答案、实战示例与进阶追问)

本文提供500道C++面试高频题的详细解析,涵盖基础概念到进阶应用,包括面向对象编程、内存管理、现代C++特性、并发编程等核心考点。每道题配有实战示例和进阶追问,帮助开发者突破八股文局限,掌握解决实际问题的能力,适合准备C++技术面试的工程师系统复习。

weixin_29002595的博客 311

DSSAT模型实战:从基础配置到气候情景模拟

本文详细介绍了DSSAT模型在农业模拟中的应用,从基础配置到气候情景模拟的全流程实战指南。通过土壤-植物-大气连续体的动态关系建模,DSSAT能精准预测作物产量,误差率低至8%。文章涵盖气象数据处理、土壤参数配置、管理措施调控等核心技巧,并提供了Python脚本和可视化方法,助力农业科研与决策。

weixin_29264201的博客 1013

Perl Learning (1) —— Perl简介

小骆驼书( llama book ) Perl简介

delphiwcdj的专栏 1323

VXLAN技术详解

VXLAN(虚拟可扩展局域网)是一种Overlay二层虚拟化技术,通过MAC-in-UDP封装在IP网络上构建大规模虚拟二层网络。核心组件包括VTEP(隧道端点)、24位VNI(支持1600万个虚拟网络)和VXLAN网关。相比VLAN,VXLAN具有超大规模扩展、跨三层互联、支持虚拟机无缝迁移等优势,适用于云数据中心多租户隔离、跨数据中心互联等场景。其基于IP路由的封装方式无需改造物理网络,为现代云网络提供了弹性、安全的虚拟化解决方案。

kjkdd的博客 595

Perl Learning (5) —— 输入与输出

I/O问题

delphiwcdj的专栏 4472

CISSP/CCSP证书到手后别松懈!保姆级维持攻略:CPE积分怎么攒?年费怎么交?

本文为CISSP/CCSP持证者提供详细的维持认证攻略,重点介绍如何高效积累CPE积分和避免年费缴纳中的常见问题。通过免费与付费资源结合的策略,帮助持证者轻松完成年度认证要求,同时利用认证创造职业价值。

weixin_30859423的博客 415

STK之Commu模块之三仿真卫星通信链路参数计算

考虑上述衰减的影响,可以得到卫星接收机输入端的载波功 [C] = [PT] +[GT] +[GR] -[L] -[L1] -[L2] (

juanhuokang2681的博客 8267

Learning Perl(Perl语言入门)学习笔记(2)

 第三章  列表和数组 1、 列表和数组在Perl中用来表示复数;2、 列表(list)指的是标量的有序集合,数组(array)表示存储列表的变量;列表是数据,数组是变量,列表可以不放在数组中;3、 数组或列表的每个元素都是单独的标量变量,拥有独立的变量值,可以同时包含数字、字符串或undef,但使用时一般让其具有相同的类型;4、 索引计数从0开始,如果索引值是表达式,而结果不为整时会先取

501

系统安全性评估 (SSA) 详细解析

系统安全性评估(SSA)是一种自下而上的验证过程,目的是确保系统设计中的每个功能、子系统、硬件和软件的实现,符合早期通过 FHA 和 PSSA 设定的安全性需求。它通过对已实现的系统进行系统性综合评价,检验各项设计和安装是否符合预期的安全性目标,最终支持飞机的适航认证。飞行控制系统是飞机安全性设计的核心子系统之一,负责控制飞机的姿态和方向。为了确保飞行控制系统能够在各种飞行条件下保持安全运行,SSA 被用于验证该系统的设计是否满足 FHA 中设定的安全性目标。

qq_41854911的博客 1651

Windows 11安装Node.js全攻略:从版本选择到环境配置

Node.js作为JavaScript运行时,是前端工程化与后端服务开发的基石。在Windows 11系统中,正确安装并配置Node.js环境,往往涉及版本选择、PATH环境变量、包管理器等多重环节。很多人会被类似“node:9.4”的标签误导,其实那更可能是Docker镜像或Electron内置版本。理解Node.js的LTS版本机制与PATH原理,能有效避开“不是内部或外部命令”、“npm.ps1无法加载”等高频问题。通过nvm-windows管理多版本,配合npm国内镜像加速,可以显著提升开发效率。无

weixin_33938733的博客 247

电化学-论文分享-NanoStat: An open source, fully wireless potentiostat

本文主要分享论文NanoStat: An open source, fully wireless potentiostat,并记录学习笔记。如果有条件,建议看原文最好。

分享技术笔记,希望对大家能够有一定的帮助,同时也通过归纳总结提升自己的个人能力。 2874

【第1章>第8节】FNN模糊神经网络的理论学习与MATLAB仿真

模糊神经网络(FNN,Fuzzy Neural Network)是将模糊逻辑与神经网络相结合的一种智能算法,它融合了模糊逻辑善于处理不确定性和神经网络的自学习、自适应能力。

FPGA/MATLAB学习教程/源码/项目合作开发 389

Learning Perl(Perl语言入门)学习笔记(10)

第十一章  文件测试 1、  文件测试操作符及其含义:-r   文件或目录,对目前(有效的)用户或组来说是可读的;-w  文件或目录,对目前(有效的)用户或组来说是可写的;-x  文件或目录,对目前(有效的)用户或组来说是可执行的;-o  文件或目录,由目前(有效的)用户所拥有;-R  文件或目录,对实际的用户或组来说是可读的;-W 文件或目录,对实际的用户或组来说

511

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Learning Perl 7

1. 数组的长度 $#arrayname返回数组最后一个长度的下标。( 默认数组是从0下标开始) 2. 数组的切片Array slicing 从一个数组给另一个数组的元素赋值时,得出的数组称为数组片。如果右边的数组大于左边的数组时,未使用的值将放弃。如果小于,多出的左边的值将为undef。 例如: @name = ('A','B','C'); @pal = @n...

weixin_34055910的博客 102

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Perl Learning (3_1) —— 列表与数组

如果说Perl的标量代表的是单数(singular),那么在Perl里代表复数(plural)的就是列表和数组。

delphiwcdj的专栏 1573

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Perl Learning (2) —— 标量数据

一般来说,Perl用标量(scalar)来称呼单件事物。标量是Perl里面最简单的一种数据类型。

delphiwcdj的专栏 1630

learning perl第5章练习题

原文发表于网易博客 2010-11-16 13:39:42 learning perl第5章的练习题有点意料之外,虽然第5章讲的是基本输入输出,但是实现习题时,还是花了我一段时间用来去前面几个章节回顾了一下。呵呵,把数组知识也用进去了。 第1题: 1: #!perl -w 2: #tac 3: use strict; 4: ...

weixin_34123613的博客 96
上一篇: Learning Perl(Perl语言入门)学习笔记(12)
下一篇: Learning Perl(Perl语言入门)学习笔记(14)
Rebollo
博客等级 码龄18年 1粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值