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

前端之家收集整理的这篇文章主要介绍了perl字符串操作符、system函数及其对系统命令的调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

"hello" . "world" # 等同于 "helloworld" 
"hello" . " " . "world" # 等同于 "hello world" 
'hello world' . "\n" # 等同于 "hello world\n" 
连接运算符必须显式地使用 . 操作符。 
===================================================================================== 
在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 中国/河南省") 
在目录 中国 不存在的情况下,是无法运行成功的,也就是说,无法生成文件夹 ./中国/河南省

猜你在找的Perl相关文章