perl函数说明(chop)

chop
   chop VARIABLE
   chop LIST
   chop

这个函数把一个字串变量的最后一个字符砍掉,并且返回砍掉的字符。chop 主要用于从一条输入记录的尾部删除换行符,并且比使用一个子过程更高效。如果这就是你在做的事情,那么用 chomp 更安全一些,因为 chop 不管字串里的是什么都会剪短它,而 chomp 则更有选择性一些。

你不能 chop 文本常量,只能 chop 一个变量。

如果你 chop 一列 LIST 变量,那么列表中的每个字串都被剪短:

   @lines = `cat myfile`;
   chop @lines;

你可以 chop 任何是左值的东西,包括一个赋值:

   chop($cwd = `pwd`);
   chop($answer = );

上面的和下面这句是不同的:

   $answer = chop($tmp =  );   # 错误

它把一个新行放到了 $answer 里,因为 dhop 返回砍掉的字符,而不是剩下的字串(在 $tmp 里)。获取我们这里想要的结果的一个方法是用 substr:

   $answer = substr , 0, -1;

不过我们更经常的是写:

   chop($answer = );

在最常见的情况下,chop 可以用 substr 来表示:

   $last_char = chop($var);
   $last_char = substr($var, -1, 1, "" );   # 一样的东西

一旦你理解了这个等效原理,你就可以用它做更大的砍削。要砍掉多于一个字符,那么把 substr 当作左值使用,赋予一个空字串。下面的代码删除 $caravan 的最后五个字符:

   substr($caravan, -5) = " ";

这里的负数脚标令 substr 从字串的尾部而不是头部开始计算。如果你想保存这样删除的字符,你可以使用四个参数形式的 substr,创建一个五倍的砍削:

   $tail = substr($caravan, -5, 5, "");

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值