当前位置:首页 >> 脚本专栏

Perl中chomp和chop的区别介绍

chomp是用来删除换行符.

复制代码 代码如下:
#!/usr/bin/perl
$c="abcde";
chomp($c);
print "$c\n";
[root@ak]# perl a.pl
abcde

chop是用来删除最后一个字符.

复制代码 代码如下:
#!/usr/bin/perl
$c="abcde";
chop($c);
print "$c\n";
[root@ak]# perl a.pl
abcd

chomp与chop的用法

1.chomp的用法:

它对变量起作用,而此变量含有字符串。如果字符串结尾有换行符,chomp
可以去掉它。这基本上就是它能完成的所有功能,如下例:
$text="alineoftext\n      "; #也可以由<STDIN>输入
chomp($text);
 #去掉换行符(\n)。
 它非常有用,基本上你的每一个程序都会用到它。如你将知道,这是将字符串末尾换行符去掉的最好方法。基于 Perl 中的
一条基本原则:在需要使用变量的地方,可以使用赋值表达式来代替。我们有更简单的使用 chomp 的方法。Perl 首先做赋
值运算,再使用这个变量。因此使用 chomp 的最常用方法是:
chomp($text=<STDIN>);    #读入,但不含换行符
$text=<STDIN>;
 chomp($text);
 #同上,但用两步完成
 第一眼见到时,第一种组合的方法看起来复杂些。如果把上述其看成两步操作,读一行再 chomp,那写成两个语句的方法
看起来自然些。如果将其看作一个操作,读入一行但不包括换行符,那写成一个语句的方法更恰当。由于绝大多数 Perl 程
序员使用第一种写法,你也应该使用它。

2.chop与chomp的区别:

chop()函数,只是去除最后一个字符。
chomp()函数,就要首先判断最后一个字符是不是为"\n",他才去除。