Board logo

标题: perl字符串转义以及字符串含.号等特殊符号时的用法 [打印本页]

作者: look_w    时间: 2019-4-19 19:16     标题: perl字符串转义以及字符串含.号等特殊符号时的用法

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


如下 双引号中的\t   \x  \r  \n是有作用的  单引号中的无作用

$ cat test_stresc.pl
#!/usr/bin/perl
use warnings;
use strict;
my $str_sq = '1Aa\t\x31\x41\x61\t\x{263a}\r\n';
my $str_dq = "1Aa\t\x31\x41\x61\t\x{263a}\r\n";
print "str_sq:[$str_sq] --> ", unpack("H*", $str_sq), "\n";
print "str_dq:[$str_dq] --> ", unpack("H*", $str_dq), "\n";

$ ./test_stresc.pl
str_sq:[1Aa\t\x31\x41\x61\t\x{263a}\r\n] --> 3141615c745c7833315c7834315c7836315c745c787b323633617d5c725c6e
Wide character in print at ./test_stresc.pl line 9.
str_dq:[1Aa     1Aa     ☺

    ] --> 3141610931416109e298ba0d0a


Perl转义字符含义

\n 换行
\r   回车

\t   水平制表符

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


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


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




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0