perl中chomp用来去除字符串后面的换行符。
如以下代码
#!/usr/bin/perl -w
$a = <stdin>;
print "first input is $a";
$b = <stdin>;
#chomp $b;
print "second input is $b";
#!
运行的结果是:
xy@ubuntu:~/perl代码$ perl chomp
12
first input is 12
12
second input is 12
xy@ubuntu:~/perl代码$
如果将#chomp $b行的#去掉,使chomp生效,那么运行的结果是:
xy@ubuntu:~/perl代码$ perl chomp
12
first input is 12
12
second input is 12xy@ubuntu:~/perl代码$
看最后一行的效果就可以知道chomp已经去除我们输入数字12时按下的enter键。
另外,chomp所有返回值的。如果将上述程序的改为:
#!/usr/bin/perl -w
$a = <stdin>;
print "first input is $a";
$b = <stdin>;
$c = chomp $b;
print "second input is $b";
print '\n';
print "c=$c\n";
#!
可以输出c=1.即我们输入的换行符的个数。
chomp可以 很好的过滤掉字符串的换行符,为数据的处理做预备工作。
chomp依旧适用于文件流的处理,会对流中的每个字符串实施chomp操作。
如下程序:
#!/usr/bin/perl -w
print chomp <STDIN>;
#!
程序输出的时候就会将我们每次输入的换行符去除掉。