加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl 学习笔记 --- 14

发布时间:2020-12-16 00:28:02 所属栏目:大数据 来源:网络整理
导读:? 第14章: ? ? 14.1 system函数 ? system是调用shell的最简单的方法。 ? 例如: system ‘ls –l $HOME’; ? system “date”; ? ? ? 14.2 exec函数 ? exec是“调用后不用管”的system。 ? ? ? 14.3 环境变量 ? 使用%ENV获得环境变量。 ? 例如: ? $ENV{‘P

?

第14章:

?

?

14.1 system函数

?

system是调用shell的最简单的方法。

?

例如:

system ‘ls –l $HOME’;

?

system “date”;

?

?

?

14.2 exec函数

?

exec是“调用后不用管”的system。

?

?

?

14.3 环境变量

?

使用%ENV获得环境变量。

?

例如:

?

$ENV{‘PATH’}=”/home/rootbeer/bin:$ENV(‘PATH’)”;

delete $ENV{‘IFS’};

my $make_result = system “make”;

?

?

?

14.4 使用反引号(``)捕捉输出

?

例如:

my $now = `date`;?????????????????????? # 捕获date的输出

print “The time is now $now”;????? # 已经有换行符

?

?

?

14.5 像文件句柄那样处理

?

使用open与close可以打开或者关闭一个管道、进程。

?

?

?

14.6 使用fork

?

hight-level:system函数

?

low-level:fork

?

?

例如:

system “date”;

?

等同于

?

defined(my $pid = fork) or die “Cannotfork: $!”;

unless ($pid) {

?????? #子进程在这里

?????? exec“date”;

?????? die“cannot exec date: $!”;

}

# 父进程在这里

witpid($pid,0);

?

?

?

14.7 发送和接收信号

?

SIGINT:发送信号;

?

例如:

kill 2,4201 or die “Cannot signal 4201 with SIGINT: $!”;

?

?

SIG:接收信号;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读