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",他才去除。
相关推荐
-
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 cho
-
perl中my与our的区别介绍
先来看下our的用法. require 5.006当版本号小于 5.006 的时候,会返回失败,从而导致模块加载失败.所以它的作用就是保证模块调用环境的 Perl 版本. our 和 my 一样,都是对变量的声明,不过 our 声明的是包全局变量,而 my 声明的是词法变量. 不过,经过 our 声明的变量,它会变得像一个词法变量一样,其实这也是 our 存在的目的:用来欺骗 strict pragma,使 strict 以为它是一个词法变量,其实却不是. 有一个简单的办法可以理解 our:1,
-
iOS开发中class和#import的区别介绍
在iOS开发过程中,我们在一些源码中经常会看到导包的时候有的用#import进行导包,但是有的的时候也会看到用@class进行导包,那么这两种方式有什么区别呢? 一 @class和#import的主要区别 首先说一下最主要的区别: •使用#import引入一个类的头文件,编译时会将该类的头文件中的所有信息都引入,包含属性和方法: •使用@class仅仅是告诉编译器这是一个类,并不会因入该类的其他信息,而我们所关心的也仅此一点,而不需要知道该类的内部有哪些属性和方法,因此使用@class可以提升编
-
python中if和elif的区别介绍
多个if语句是每次单独判断 比如: 例子一 a = 5 if a < 6: #条件1 print(1) if a < 7: #条件2 print(2) else: print(3) 条件1和条件2是独立的,第一次判断a的值小于6,所以打印出数字1,第二次判断a的值小于7,所以打印出2.如果所有的if语句都判断失败,才会执行else后的语句,否则else语句不执行. 如果条件2修改为elif,结果就不同了 例子二 a = 5 if a < 6: #条件1 print(1) elif a &
-
perl中chomp的使用介绍(chop和chomp函数区别)
例子: 复制代码 代码如下: #!/bin/perlprint "Please input an string and a number by order!\n"; $the_string=<>; $the_numb=<>; print "The result is \n"; print "$the_string"x"$the_numb"; 结果:The result is my my
-
tomcat自定义Web部署文件中docBase和workDir的区别介绍
本文主要介绍的是tomcat自定义Web部署文件中docBase和workDir的区别,下面话不多说,直接来看详细介绍. 首先看这段tomcat配置文件: <Context path="/web" reloadable="false" docBase="D:\CAPRuntime\src\main\webapp" workDir="D:\CAPRuntime\src\main\webapp"/> 其中的docBas
-
perl中my和our的区别分析
perl中our的用法require 5.006当版本号小于 5.006 的时候,会返回失败,从而导致模块加载失败.所以它的作用就是保证模块调用环境的 Perl 版本. our 和 my 一样,都是对变量的声明,不过 our 声明的是包全局变量,而 my 声明的是词法变量. 不过,经过 our 声明的变量,它会变得像一个词法变量一样,其实这也是 our 存在的目的:用来欺骗 strict pragma,使 strict 以为它是一个词法变量,其实却不是. 有一个简单的办法可以理解 our:1,你
-
ASP.NET Core中Razor页面与MVC区别介绍
作为.NET Core 2.0发行版的一部分,还有一些ASP.NET的更新.其中之一是添加了一个新的Web框架来创建“页面”,而不需要复杂的ASP.NET MVC.新的Razor页面是一个比较简单的MVC框架版本,在某些方面是老的“.aspx” WebForms的演变. 在本文中,我们将介绍使用ASP.NET Razor页面和MVC的一些细节. Razor页面基础知识 ASP.NET MVVM vs MVC Razor页面的优点和缺点 使用Handlers实现多个GET.POST Action方
-
JavaScript中的null和undefined区别介绍
JavaScript中存在2个代表信息不存在的特殊值:null和undefined.个人认为可以从以下角度来理解这两个特殊值之间的区别: 1.null代表有存储信息的容器(比如之前被赋过值的变量),但该容器中的内容为空. 2.undefined代表不存在用于存储信息的容器. JavaScript中的null与其它多数编程语言中的null没有什么区别,基本用于表示信息值为空:而在JavaScript中下述情况下表达式返回结果为undefined: 1.从未被赋过值的变量. 2.访问某个对象不存在的
-
TypeScript中let和var的区别介绍
目录 1.作用域不同 2.let没有变量提升 3.let变量不能重复声明 4.for循环中的let与var 1.作用域不同 用var声明的变量,只有函数作用域和全局作用域,没有块级作用域.而let可以实现块级作用域,只能在代码块{}内有效,在{}之外不能访问,如下代码所示: { let a = 0; var b = 1; } console.log(a) // ReferenceError: a is not defined console.log(b) // 1 2.let没有变量提升 在代码
随机推荐
- Vue.js一个文件对应一个组件实践
- javascript克隆对象深度介绍
- 科汛3.1最新安全漏洞补丁2007年2月26更新
- JS实现的按钮点击颜色切换功能示例
- js实现Select列表内容自动滚动效果代码
- IE autocomplete internet explorer's autocomplete
- php模拟socket一次连接,多次发送数据的实现代码
- SQL SERVER数据库表记录只保留N天图文教程
- Android的HTTP操作库Volley的基本使用教程
- 在同一台机器上运行多个 MySQL 服务
- mysql 时间转换函数的使用方法第1/2页
- JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
- Jquery ajax基础教程
- 很邪门的心理测试,98%准确率,不信试试!很诡异喔!!
- Sql Server临时表和游标的使用小结
- 常常会用到的截取字符串substr()、substring()、slice()方法详解
- 浅谈junit4单元测试高级用法
- 对于最近出现的Death.exe病毒及其变种的手工查杀办法不用专杀工具
- C#打印绘图的实现方法
- Java编程中避免equals方法的隐藏陷阱介绍