[Perl]chomp 和 $/

来源:互联网 发布:社保网络认证的意义 编辑:程序博客网 时间:2024/05/29 13:21
[Perl]chomp 和 $/
chomp用来去掉字符串结尾的空行,这是我之前的理解。

今天仔细看了chomp的文档,原来chomp不一定只用来删除字符串结尾的空行,它可以删除结尾的$/, 只不过$/的默认值是newline,所以给人的感觉chomp总是用来删除结尾的空行。

通过改变$/的默认值,可以让chomp变得更灵活。
比如你的某个变量$var结尾有多个空行,怎么删除呢?
可以:
$/="";
chomp($var);

如果$var的结尾是a,你想删除a, 
$/="a";
chomp($var);

=========================================

有网友说我的斜线写反了。查了查perlvar, 发现 $\ 和$/是两个不同的东西:
$/: The input record separator, newline by default.
$\: The output record separator for the print operator.
chomp:  removes any trailing string that corresponds to the current value of $/
原创粉丝点击