社区
脚本语言
帖子详情
perl的单引号字符串的问题。
codesnail
2010-09-21 11:39:36
perl的单引号字符串被设计成为 “尽量保持单引号内部的内容,也就是说你写的是什么,你用print输出就是什么”。
有两个特殊 一个是 '\',另外一个是 ' ‘ ',后一个很好理解,因为字符串本身需要判断结束的位置,所以要用\'来表示'.
疑问的是为什么‘a\\b’和‘a\b’是一样的,这不就与设计初衷相反了吗,没必要用\\来表示\吧?
求解答,谢谢。
...全文
216
12
打赏
收藏
perl的单引号字符串的问题。
perl的单引号字符串被设计成为 “尽量保持单引号内部的内容,也就是说你写的是什么,你用print输出就是什么”。 有两个特殊 一个是 '\',另外一个是 ' ‘ ',后一个很好理解,因为字符串本身需要判断结束的位置,所以要用\'来表示'. 疑问的是为什么‘a\\b’和‘a\b’是一样的,这不就与设计初衷相反了吗,没必要用\\来表示\吧? 求解答,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
codesnail
2010-09-26
打赏
举报
回复
[Quote=引用 6 楼 iambic 的回复:]
假设你的字符串只包括一个\,你要用单引号包含它,就成了'\',在Perl看来,\'会被当成字符串中的一个'。所以你还是需要用\\来转义,以避免歧义。
[/Quote]
真是牛人啊,服了。
m00z
2010-09-25
打赏
举报
回复
If you put something in single quotation marks, Perl assumes that you want the exact characters you place between the marks —
except for the slash-single quote (\') combination and double-slash (\\) combination
.
转自:http://www.dummies.com/how-to/content/contrasting-single-and-double-quotes-in-perl.html
iambic
2010-09-24
打赏
举报
回复
单引号里不会解释$。
proorck6
2010-09-24
打赏
举报
回复
在字符串中要用到$var插入,又要用到$符号本身,所以要写成\$,这时就不能直接显示\$,所以\\$还是有用的。这应该不是个bug。
wxgiter
2010-09-23
打赏
举报
回复
学习...
jiuchang
2010-09-22
打赏
举报
回复
这个正确
[Quote=引用 6 楼 iambic 的回复:]
假设你的字符串只包括一个\,你要用单引号包含它,就成了'\',在Perl看来,\'会被当成字符串中的一个'。所以你还是需要用\\来转义,以避免歧义。
[/Quote]
guoxuqu
2010-09-21
打赏
举报
回复
因为\有特殊用途,如果你要在单引号字符串里面插入单引号,只能用\'.
iambic
2010-09-21
打赏
举报
回复
假设你的字符串只包括一个\,你要用单引号包含它,就成了'\',在Perl看来,\'会被当成字符串中的一个'。所以你还是需要用\\来转义,以避免歧义。
codesnail
2010-09-21
打赏
举报
回复
[Quote=引用 1 楼 guoxuqu 的回复:]
因为\有特殊用途,如果你要在单引号字符串里面插入单引号,只能用\'.
[/Quote]
不看问题就回答,,,,,,
codesnail
2010-09-21
打赏
举报
回复
[Quote=引用 2 楼 proorck6 的回复:]
这应该是一个bug
[/Quote]
。。。。。不会吧,这个bug应该很容易修改吧,怎么会遗留到现在?
codesnail
2010-09-21
打赏
举报
回复
[Quote=引用 1 楼 guoxuqu 的回复:]
因为\有特殊用途,如果你要在单引号字符串里面插入单引号,只能用\'.
[/Quote]
我知道单引号需要,问题是\本身为什么需要?
proorck6
2010-09-21
打赏
举报
回复
这应该是一个bug
Redis实战视频课程
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(
字符串
)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,
Perl
,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
perl
中
单引号
和双引号
字符串
区别
区别一:
单引号
除了反斜字符和
单引号
外,
单引号
内所有字符都代表它们自己,比如“\t \n”都是代表
字符串
本身,即
单引号
内的\n并不是换行符,而是表示字面上的两个字符;而双引号中的反斜线更为强大,可以转义许多控制字符,双引号中“\t \n”分别代表水平制表符和换行;print 'hello world \t \n';print "hello world \t \n";结果:区别二:双引号支持变量内
字符串
中的
单引号
和双引号的差别
给
字符串
加双引号和
单引号
的主要差别是: (1) 使用
单引号
的
字符串
含义是非常直观的,
单引号
字符串
中的每个字符就是表示它自己的含义。在双引号中的
字符串
中,
Perl
要查看是否存在变量名或转义序列。 转义序列是一些特殊
字符串
,你可以将难以键入和以后难以识别的字符嵌入
字符串
。 (2) 如果
Perl
在双引号
字符串
中找到了一个变量,那么它将被内插替换。这就是说,双引号
字符串
中的变
Perl
的
单引号
和双引号区别
perl
输出
字符串
可以使用
单引号
和双引号,如下所示:实例#!/usr/bin/
perl
print "Hello, world\n"; # 双引号print 'Hello, world\n'; #
单引号
输出结果如下:Hello, world Hello, world\n从结果中我们可以看出,双引号 \n 输出了换行,而
单引号
没有。
Perl
双引号和
单引号
的区别: 双引号可以正常解析一些转义字符与变...
Perl
之
单引号
\双引号的
字符串
直接量
单引号
内的
字符串
直接量
单引号
内的
字符串
直接量(single-quoted string literal)指的是一对
单引号
圈引的一串字符。前后两个
单引号
并不属于
字符串
的一部分,它们只是用来让
Perl
识别
字符串
的开头和结尾。除了
单引号
和反斜字符外,它们只是用来让
Perl
识别
字符串
的开头和结尾。除了
单引号
和反斜线字符外,
单引号
内所有字符都代表它们自己(包括换行字符,如果该
字符串
表示多行的数据的话)。...
脚本语言
37,720
社区成员
34,238
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章