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命令,在当前目录下建立名为 中国 的空白文件夹 

或者 

#!perl 
my $me="md 中国"; 
system $me; # system后可以有圆括号,也可以没有 
但是,由system()函数调用的系统命令执行的效果和直接在dos下执行并不相同,比如不能在根目录不存在的情况下直接建立根目录和子目录,也不能在有子目录存在的条件下直接删除根目录。例如下面的程序: 

#!perl 
system("md 中国/河南省") 

在目录 中国 不存在的情况下,是无法运行成功的,也就是说,无法生成文件夹 ./中国/河南省

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值