perl字符串转义以及字符串含.号等特殊符号时的用法

perl字符串转义以及字符串含.号等特殊符号时的用法

Perl中的单引号字符串不支持转义字符,双引号字符串支持转义字符


如下 双引号中的 x 是有作用的 单引号中的无作用

$ cat test_stresc.pl
#!/usr/bin/perl
use warnings;
use strict;
my $str_sq = '1Aax31x41x61x{263a}';
my $str_dq = "1Aax31x41x61x{263a}";
print "str_sq:[$str_sq] --> ", unpack("H*", $str_sq), "";
print "str_dq:[$str_dq] --> ", unpack("H*", $str_dq), "";

$ ./test_stresc.pl
str_sq:[1Aax31x41x61x{263a}] --> 3141615c745c7833315c7834315c7836315c745c787b323633617d5c725c6e
Wide character in print at ./test_stresc.pl line 9.
str_dq:[1Aa 1Aa ☺

] --> 3141610931416109e298ba0d0a


Perl转义字符含义

换行
回车

水平制表符

f 换页符
 退格
a 系统响铃
e ESC (ASCⅡ 编码的转义字符)
07 任何八进制的ASCⅡ(此例子007表示系统响铃)
x7f 任何十六进制的ASCⅡ(此例子7f表示删除键的控制代码)
cC 控制符,也就是control键的代码(此例子此表示同时按下ctrl键和C键的返回码)
反斜线
" 反双引号
l 将下个字符转为小写
L 将到E为止的所有字符转为小写
u 将下个字符转为大写
U 将到E为止的所有字符转为大写
Q 将到E为止的非单词(non-word)字符加上反斜线
E 结束L、U、Q


如果字符串中含有.号 等特殊符号时 数据库的密码呀 帐号之类的 这时 用双引号和单引号 括起来都是错误的 无法连接成功。


这时要用反引号括起来 反引号就是键盘左上角~符号下的· 这样连接数据库时就ok了

推荐阅读