Perl-02---字符串

一、Perl中的字符串:

Perl中有三种字符串:双引号字符串、单引号字符串和反引号字符串;

1、双引号字符串(" "):是使用一对双引号括起来的一串字符,其作用类似于C语言中的字符串;使用双引号时,Perl解释器实际上会逐一检查字符串直接数中的每一个字符,看看这个字符是否具有特殊定义,如果有特殊定义,则进行特殊处理,这个操作在Perl中称为变量插值;在双引号字符串中,可以把一个反斜杠放在某一个字符前面,使这个字符成为转义字符;

2、单引号字符串(' '):是使用一对单引号括起来的一串字符。该单引号字符串不是字符串的一部分。单引号开头的字符串告诉Perl解释器停止解释单引号后面的字符,即Perl解释器不再检查构成字符串直接数的字符串中是否有什么特殊字符,这个作用一直持续到Perl解释器遇到下一个单引号为止。单引号对之间的所有字符均看成是字符串直接数。也就是说,单引号让Perl解释器把单引号对之间的所有内容都解释为字符串直接数。此外,单引号让Perl解释器不解释单引号对之间的内容,因此它把单引号对之间的所有内容都直接打印出来。单引号开头的字符串中可以插入任何字符,但有两种情况除外。一种是中间插入单引号,并在前面有一个反斜杠;另一种是字符串中有两个连着的反斜杠。

3、反引号字符串(` `):它告诉Perl解释器对反引号之间的字符串的解析采用完全不同的操作,让Perl解释器把反引号对之间的字符串解释为操作系统命令。如果要早一个程序中执行另一个程序,可以使用反引号对实现。反引号对之间执行的操作系统命令总是返回某种类型的数据。对有些命令,返回的数据只能是表示命令执行成功与否的0、1值;另外一些命令则有可能返回很长的数据列表。返回的数据存放在等号左边的变量中。

二、引用操作符:

Perl提供4种引用运算符:q、qq、qx、qw。这些引用运算符可以代替对应的引号:

运算符   含义               结果                           举例                                                                   说明
q            单引号             不可插值字符串          print q#My name is $Name.#;                         (#为分隔符)
qq          双引号             可插值字符串              print qq+My Name is $Name。+;                    (+为分隔符)
qx          反引号             可插值命令字符串       $Date = qx[date +'%Y-%m-%d %H:%M:%S']; ([]为分隔符)
qw          引用字符串     不可插值字符串           @Name = qw%(Jack, Marry, Smith)%;            (%为分隔符)

引用操作符的用法比较简单,每个引用操作符作用于其后面的分隔符之间的字符串上;分隔符是引用操作符后面的第一个非字母、非数字字符,但空格不能作为分隔符。分隔符总是成对出现,开始分隔符与结束分隔符相同,分隔符可以使用任意的非字母、非数字字符对,它表示字符串的开始和结束。

三、特殊字符串:

Perl中提供了一种特殊的输出字符串的方法,那就是使用符号“<<+一个标识符+分号”的方式来界定多行字符串位同一个字符串;如:

print   <<EOF;

Text string line1.....

Test string line 2...

.....

EOF

这几行代码的功能就是输出两个EOF标识符之间的字符串;其中标识符EOF可以使用一对引号括起来,引号的类型决定了中间这几行字符串的性质;如果是双引号,则两个EOF之间的字符串中出现的变量就可以被变量所保存的实际数据替换;如果是单引号,则两个EOF之间的字符串中出现的变量就不能被其所保存的实际数据替换,而是直接把变量名打印出来;如果是反引号,则两个EOF之间的字符串就会被Perl解释位操作系统命令;这有点类似于Shell脚本中的标记符的功能;第一个EOF与<<之间不能有其它任何字符,而且第一个EOF之后要使用分号结尾;EOF是一个标记符的例子,还可以使用其它标记符来代替EOF标记符,如:END、!、OVER、FINISH等等;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值