perl使用多行string的语法

perl的语法非常灵活,有些不为人知的语法往往具有很强的功能。使用这些语法可以大大提高俺们coding的效率。

设想这样一种情景,我们要用perl自动生成一个file,在file的头部,希望加入一个注释说明这个文件是自动生成的:

# This file is automately generated by parsing the following files:
#                a.h                                                                                
#                b.xml                                                                            

当然,我们可以用print:

print "# This file is automately generated by parsing the following files:/n";
print "#                a.h/n";                                                                                           
print "#                b.xml/n";                                                                                       

但是这个方法存在以下两个问题:

1. 需要额外的print、引号和'/n'。别小看这些工作量。perl的哲学之一就是要尽量偷懒:)
2. 如果要更新注释的时候,发现要插入一段内容,从而发生了字符串换行操作,那修改print语句将是一件非常痛苦的事情。

 

 偷懒的方法是:

 

print <<END_OF_STRING;                                                        
# This file is automately generated by parsing the following files:
#                a.h                                                                                
#                b.xml                                                                            
END_OF_STRING                                                                       

当perl解析到print语句的时候,发现"<<END_OF_STRING",就会向后查找,一直到"END_OF_STRING"中间的所有内容都会被当作一个string替换到"<<END_OF_STRING"。

怎么样,这个功能在多行string的处理中很实用吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值