[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 $/