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

perl字符串操作符、system函数及其对系统命令的调用

发布时间:2020-12-16 00:03:12 所属栏目:大数据 来源:网络整理
导读:字符串操作符:Perl中的字符串操作符为 . ,用于将两个字符串拼接起来。此运算产生的字符串可以继续用来运算或储存到变量里。如:? "hello" . "world" # 等同于 "helloworld"? "hello" . " " . "world" # 等同于 "hello world"? 'hello world' . "n" # 等同

字符串操作符:Perl中的字符串操作符为 . ,用于将两个字符串拼接起来。此运算产生的字符串可以继续用来运算或储存到变量里。如:?

"hello" . "world" # 等同于 "helloworld"?
"hello" . " " . "world" # 等同于 "hello world"?
'hello world' . "n" # 等同于 "hello worldn"?
连接运算符必须显式地使用 . 操作符。?
=====================================================================================?
在Perl开发中,通常可以用system函数或``( ~ 下面的那个符号)操作符来执行系统命令(就是dos命令),但注意对alias,bg,bind,break,builtin,cd,command,compgen,complete,continue,declare,dirs,disown,echo,enable,eval,exec,exit,export,fc,fg,getopts,hash,help,history,jobs,kill,let,local,logout,popd,printf,pushd,pwd,read,readonly,return,set,shift,shopt,source,suspend,test,times,trap,type,typeset,ulimit,umask,unalias,unset,wait等shell内部命令(即在文件系统中无执行文件的命令)这样直接执行会出错,错误是无法找到该文件或目录。可以在命令前加sh –c来实现。而对cd、umask等SESSION型命令,应该用PERL的内部函数chdir、umask等来实现功能更可靠。?
如:?
#!perl?
system("md 中国"); # 调用dos命令,在当前目录下建立名为 中国 的空白文件夹?
或者?
my $me="md 中国";?
system $me; # system后可以有圆括号,也可以没有?
但是,由system()函数调用的系统命令执行的效果和直接在dos下执行并不相同,比如不能在根目录不存在的情况下直接建立根目录和子目录,也不能在有子目录存在的条件下直接删除根目录。例如下面的程序:?
system("md 中国/河南省")?
在目录 中国 不存在的情况下,是无法运行成功的,也就是说,无法生成文件夹 ./中国/河南省

转自:? http://www.douban.com/group/topic/36302374/

(编辑:李大同)

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

    推荐文章
      热点阅读