Perl基础(1)chop与chomp的区别

时间:2022-06-26 06:18:03

chop是去掉字符串的最后一个字符
chomp是去掉“$/”指定的结尾符号

测试程序一:

[perl]
#!/bin/perl

$tmp = "sincere";
chop($tmp);
print "$tmp";
$tmp = "sincere";
chomp($tmp);
print "$tmp";
[/perl]

输出:

[code]
[sincerefly@localhost perl]$ perl chop-chomp
sinceresincere[sincerefly@localhost perl]$
[/code]

测试程序二:

[perl]
#!/bin/perl

$tmp = "sincere\n\n\n";
chop($tmp);
print "$tmp";
$tmp = "sincere\n\n\n";
chomp($tmp);
print "$tmp";
[/perl]

输出:

[code]
[sincerefly@localhost perl]$ perl chop-chomp2
sincere

sincere

[sincerefly@localhost perl]$
[/code]

结论:chop去掉了最后一个字符,chomp去掉了最后一个换行符号

测试程序三:

[perl]
#!/bin/perl

$/ = "";
$tmp = "sincere\n\n\n";
chop($tmp);
print "$tmp";
$tmp = "sincere\n\n\n";
chomp($tmp);
print "$tmp";
[/perl]

输出:

[code]
[sincerefly@localhost perl]$ perl chop-chomp3
sincere

sincere[sincerefly@localhost perl]$
[/code]

结论:当变量“$/”为空串时,chomp函数删除所有的换行标志

测试程序四:

[perl]
#!/bin/perl

$/ = "cere";
$tmp = "sincere\n";
chop($tmp);
print "$tmp";
$tmp = "sincere\n";
chomp($tmp);
print "$tmp";
[/perl]

输出:

[code]
[sincerefly@localhost perl]$ perl chop-chomp4
sincer
sin
[sincerefly@localhost perl]$
[/code]

输出时在print中加入换行,方便观察
结论:成功删除了变量“$/”指定的换行

注:
1,chomp($text=); 一般这样写来从终端读入不带换行的数据
2,“$/”不应该全局更改,并且在文件中使用完成后恢复原值是一个好习惯

Perl基础(1)chop与chomp的区别的更多相关文章

  1. Perl基础速成

    本文是针对没有Perl基础,但想用perl一行式命令取代grep/awk/sed的人,用于速学Perl基础知识. Perl一行式系列文章:Perl一行式程序 perl的-e选项 perl命令的-e选项 ...

  2. Perl基础语法

    一.脚本文件perl 代码可以写在一个文本文件中,以 .pl..PL 作为后缀.文件名可以包含数字,符号和字母,但不能包含空格,可以使用下划线(_)来替代空格.一个简单的Perl 文件名:rurun_ ...

  3. Java基础之comparator和comparable的区别以及使用

    Java基础之comparator和comparable的区别以及使用 1: 区别:  .Comparable类需要实现此接口,定义在类内,不利于扩展 2 .Comparator更灵活,可以随时自定义 ...

  4. Perl 基础语法

    Perl 基础语法 Perl借用了C.sed.awk.shell脚本以及很多其他编程语言的特性,语法与这些语言有些类似,也有自己的特点. Perl 程序有声明与语句组成,程序自上而下执行,包含了循环, ...

  5. python 基础-文件读写'r' 和 'rb'区别

    原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...

  6. Perl 中 `cmd` 和system"cmd"的区别

    在perl中,调用系统命令有两种形势,`cmd` 和system"cmd",他们主要的区别是`cmd`会获取返回结果,而system"cmd"会直接将结果输出到 ...

  7. chop 与 chomp 的对比

    chop       截去最后一个字符,无论是什么字符 chomp   截去末尾的分隔符(\n),行分隔符由$/决定 $a="ab\n\n\n"; #截去多个空行. $/=&quo ...

  8. 2.Perl基础系列之入门

    官网提供的入门链接:http://perldoc.perl.org/perlintro.html 语法概述 Perl的安装步骤省略,直接去官网下载并按照提示安装即可. 如果Perl安装没问题,那么运行 ...

  9. Canvas和SVG的基础知识,以及两者的区别(小白)

    首先我们来说一下Canvas是什么,它有什么作用以及它的知识点. Canvas是<HTML5>的新标签,它通常用于通过脚本(也就是JavaScript)来绘制图像.但是它本身并没有绘制能力 ...

随机推荐

  1. Web墨卡托投影&lpar;转&rpar;

    Google Maps地图投影全解析(1):Web墨卡托投影 Google Maps.Virtual Earth等网络地理所使用的地图投影,常被称作Web Mercator或Spherical Mer ...

  2. AngularJS内置指令

    指令,我将其理解为AngularJS操作HTML element的一种途径. 由于学习AngularJS的第一步就是写内置指令ng-app以指出该节点是应用的根节点,所以指令早已不陌生. 这篇日志简单 ...

  3. &lpar;Relax DFS专题1&period;2&rpar;POJ 2386 Lake Counting&lpar;使用DFS来计算有多少坨东西是连通的&rpar;

    题目大意:有N*M的矩阵稻田,'W'表示有积水的地方, '.'表示是干旱的地方,问稻田内一共有多少块积水,根据样例很容易得出,积水是8个方向任一方向相连即可. 题目大意:有N*M的矩阵稻田,'W'表示 ...

  4. php 文件路径设置 set&lowbar;include&lowbar;path&lpar;&rpar;&semi; get&lowbar;include&lowbar;path&lpar;&rpar;&semi;

    <?php set_include_path($string); //设置路径 get_include_path(); // 获取当前的路径 //例如:文件路径为: //D:/phpweb/de ...

  5. lightoj 1027 简单概率dp

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1027 #include<cstdio> #include<cstri ...

  6. 使用node&period;js创建第一个应用

    node.js应用组成部分 1.引入require模块:我们可以使用require指令来载入Node.js模块. 2.创建服务器:服务器可以监听客户端的请求,类似于Apache,Nninx等HTTP服 ...

  7. &lt&semi;C&plus;&plus;Primer&gt&semi;第四版 阅读笔记 第一部分 &OpenCurlyDoubleQuote;基本语言”

    之前阅读时没有及时总结,现在慢慢补上. 第1章 快速入门 main 函数在很多方面都比较特别,其中最重要的是每个C++程序必须含有 main 函数,且 main 函数是(唯一)被操作系统显示调用的函数 ...

  8. 拍照、本地图片工具类(兼容至Android7&period;0)

    拍照.本地图片工具类:解决了4.4以上剪裁会提示"找不到文件"和6.0动态授予权限,及7.0报FileUriExposedException异常问题. package com.hb ...

  9. salesforce零基础学习(八十六)Ajax Toolkit (VF页面中使用及javascript action使用)

    Ajax Toolkit 参考文档:https://resources.docs.salesforce.com/212/latest/en-us/sfdc/pdf/apex_ajax.pdf 在项目中 ...

  10. EXT3文件系统误删除导致文件系统中的邮件丢失恢复方法

    一.故障描述 由8块盘组成的RAID5, 上层是EXT3文件系统,由于误删除导致文件系统中的邮件丢失 二.镜像磁盘为防止数据恢复过程中由于误操作对原始磁盘造成二次破坏, 使用winhex软件为每块磁盘 ...