Perl中chomp和chop的区别介绍

一、chomp是用来删除换行符。

#!/usr/bin/perl
$c = "abcde\n";
chomp($c);
print("$c");
[root@login1]# perl perl_try.pl
abcde[root@login1]# 

二、chop是用来删除最后一个字符。

#!/usr/bin/perl
$c = "abcde\\";
chop($c);
print("$c\n");
[root@login1]# perl perl_try.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的区别:

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

[Perl]Perl中chomp和chop的区别介绍相关推荐

  1. mysql ifnull 别名_mysql中IFNULL,IF,CASE的区别介绍

    mysql中IFNULL,IF,CASE的区别介绍 发布时间:2018-04-15 09:54:57 假设有一数据表的状态字段设计为varchar类型,有以下值:NULL,pending,pendin ...

  2. php中 br什么意思,HTML_html中br和br/的区别介绍,answer from stackflow: Simply br - phpStudy...

    html中br和br/的区别介绍 answer from stackflow: Simply is sufficient. The other forms are there for compatib ...

  3. Perl中chomp和chop

    chomp是用来删除换行符,chop是用来删除最后一个字符. chomp是用来删除换行符. 复制代码 代码如下: #!/usr/bin/perl  $c="abcde";  cho ...

  4. Perl中chomp和chop的用法和区别介绍

    一.chomp是用来删除换行符. 代码: #!/usr/bin/perl $ a = "abcdef\n"; chomp($a); print $a; 结果: [briup@loc ...

  5. ruby学习笔记(2)-chomp,chop的区别

    还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在h ...

  6. oracle nvarchar2使用场景,Oralce中VARCHAR2()与NVARCHAR2()的区别介绍

    一.先来看看Oralce中VARCHAR2()和NVARCHAR2()的官方定义 官方文档定义如下: VARCHAR2(size [BYTE | CHAR]) Variable-length char ...

  7. [Reprint]c++中typename和class的区别介绍

    在c++Template中,很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢? 相信学习C++的人对class这个关键字都非常明白,class用 ...

  8. c++中typename和class的区别介绍

    "typename"是一个C++程序设计语言中的关键字.相当用于泛型编程时是另一术语"class"的同义词.这个关键字用于指出模板声明(或定义)中的非独立名称( ...

  9. Jquery中attr与prop的区别

    prop()函数的结果: 1.如果有相应的属性,返回指定属性值. 2.如果没有相应的属性,返回值是空字符串. attr()函数的结果: 1.如果有相应的属性,返回指定属性值. 2.如果没有相应的属性, ...

最新文章

  1. python迭代计算_如何在Python中迭代坐标列表并计算它们之间的距离
  2. python手机版下载官方-Python3.6.6
  3. linux驱动由浅入深系列链接
  4. [PHP] 算法-数组重复数字统计的PHP实现
  5. JDBC –模拟序列
  6. input的type属性的修改
  7. 4.1 选择IDC机房 4.2 硬件服务器选型 4.3 上架服务器 4.4/4.5 装系统
  8. ES6-模块导入导出
  9. Unity 3D下载安装教程
  10. STM32F407 硬件IIC驱动MCP4017 数字电位器
  11. HTML5网页设计 (一)
  12. 判断是否是ie浏览器 前端js_JavaScript判断IE浏览器版本IE6,IE7,IE8
  13. linux unzip 包括目录,Linux 命令(目录管理 - zip/unzip)
  14. android highcharts柱状图实例,Highcharts 基本柱形图
  15. 学会放松和享受当下极其重要
  16. 用pyQt实现信号采集数据图形化显示
  17. 【车载以太网】【架构】整体架构与协议标准
  18. clearWState(WState_Polished)编译出错
  19. 51单片机汇编学习例程(17)——KeyPad4X4篇
  20. Win7安装Python补丁要求

热门文章

  1. java替换字符串最后_java字符串的替换replace、replaceAll、replaceFirst的区别详解
  2. Windows生成公钥和私钥
  3. 意淫设定时间系统de实现—由订外卖想到的
  4. 2016年蓝桥杯C语言大学A组题目4--快速排序
  5. 在Unity中构建Pong克隆:UI和游戏玩法
  6. 自我学习,监督学习,半监督学习和迁移学习的区别
  7. 专业的创新创业服务平台盘点,想创业,选对平台很重要!
  8. matlab血糖预测,一种基于VMD-PACF-BP模型的动态血糖在线预测方法与流程
  9. myeclipse tomcat java.lang.OutOfMemoryError: PermGen space
  10. 特定节日所有页面变灰白