在Perl中,字符串比较和数字比较是由不同的运算符来完成的:

  • 数字比较运算符: <, >, <=, >=, ==, !=
  • 字符串比较运算符: lt, gt, le, ge, eq, ne
  • cmp: 比较字符串,返回 -1, 0 或者 1。
  • <=>: 比较数字,返回 -1, 0 或者 1。
  • =~:用正则表达式来匹配,匹配的话返回True。
  • !~:和 =~ 相反,不匹配返回True。
  • 例子

#!/usr/bin/env perl

use strict;

use warnings;

my $num1 = 1;

my $num2 = 1.0;

my $two_numbers = "$num1 and $num2";

my $str1 = "1abc";

my $str2 = "1xyz";

my $two_strings = "$str1 and $str2";

print "Compare two numbers using !=\n";

if ($num1 != $num2) {

print "$two_numbers are not equal\n";

} else {

print "$two_numbers are equal\n";

}

print "Compare two strings using !=: get wrong result\n";

if ($str1 != $str2) {

print "$two_strings are not equal\n";

} else {

print "$two_strings are equal\n";

}

print "Compare two numbers using ne\n";

if ($num1 ne $num2) {

print "$two_numbers are not equal\n";

} else {

print "$two_numbers are equal\n";

}

print "Compare two strings using ne\n";

if ($str1 ne $str2) {

print "$two_strings are not equal\n";

} else {

print "$two_strings are equal\n";

}

结果:

Compare two numbers using !=

1 and 1 are equal

Compare two strings using !=: get wrong result

Argument "1xyz" isn't numeric in numeric ne (!=) at compare_operators.pl line 23.

Argument "1abc" isn't numeric in numeric ne (!=) at compare_operators.pl line 23.

1abc and 1xyz are equal

Compare two numbers using ne

1 and 1 are equal

Compare two strings using ne

1abc and 1xyz are not equal

转载于:https://www.cnblogs.com/xiaopengren/p/3431211.html

Perl 数字与字符串运算符之区别相关推荐

  1. shell中if条件字符串、数字比对,[[ ]]和[ ]区别

    原文:https://www.cnblogs.com/include/archive/2011/12/09/2307905.html shell括号 学习shell的时候总是被shell里的条件判断方 ...

  2. shell中if条件字符串、数字比对,` `和[ ]区别

    引用: http://www.51testing.com/?uid-7701-action-viewspace-itemid-13731 http://blog.csdn.net/sunboy_205 ...

  3. java中数字作为布尔值_day50 java Script 数字和字符串 布尔值和数组 运算符 条件判断和三元运算...

    上节回顾: day501.前情回顾 CSS属性: float浮动的规则1. 浮动规则: 浮动只控制自己 如果前面的标签也是浮动的,就挨着放 如果前面的标签不浮动,则下方摆放 如果把块级标签设置成浮动, ...

  4. HTML学习9 JS 数字和字符串 变量的类型 运算符和表达式 布尔值和关系运算符、逻辑运算符

    JavaScript简介 1.1 JavaScript的用途 JavaScript用来制作web页面交互效果,提升用户体验. 简单列出几个JavaScript能够制作的页面效果,它能干什么: 轮播图 ...

  5. 3、常用关键字,变量赋值,多个变量赋值,标准数据类型,数字,字符串,列表,元组,字典,数据类型转换

    3Python变量类型 3.1常用关键字 系统中有一些常用关键字不可以用来当做标识符. and lambda except while del return import or class try i ...

  6. 杂记1:正向反向迭代器,不同stl容器的lower_bound的使用(set,map,vector,arr,pair),数字转字符串

    感觉自己记性真的不行,很多之前用过,查过的知识点都忘掉了,开个博客记一下吧. 文章目录 迭代器 lower_bound,upper_bound 可以忽略,我暂时没发现用处 这个比较有用:不同容器的lo ...

  7. atoi stoi 以及数字与字符串的相互转换(sstream的使用)

    https://www.cnblogs.com/weedboy/p/7160152.html 1.c++的atoi和stoi一些区别 对c++标准库中字符串转化为int的两个函数atoi()和stoi ...

  8. Python数字和字符串学习笔记

    微信公众号:运维开发故事,作者:wanger python数据类型: Number(数字) String(字符串) List(列表) Dictonary(字典) Tuple(元组) sets(集合) ...

  9. python数据结构之数字和字符串

    python数据类型: Number(数字) String(字符串) List(列表) Dictonary(字典) Tuple(元组) sets(集合) 其中数字.字符串.元组是不可变的,列表.字典是 ...

最新文章

  1. 声音信标规格说明 2020-5-25
  2. laravel实现数据库读写分离配置或者多读写分离配置
  3. java 令牌解析_Java编程guava RateLimiter实例解析
  4. LR与SVM的相同点和不同点
  5. 算法--组合数学:杨辉三角数学分析以及Java实现
  6. BigDecimal 加减乘除
  7. 对于arm嵌入式系统的一点认识
  8. C++如何判断一个程序是 死锁 还是 死循环,如何进行问题定位与分析
  9. CSS颜色代码大全及a标签超链接颜色改变
  10. Informix 12.10版本新特性-2
  11. 【第二趴】uni-app开发工具(手把手带你安装HBuilderX、搭建第一个多端项目初体验)
  12. python绘制缓和曲线_在cad中画缓和曲线的绘制方法
  13. linux gcc忽略警告,gcc 禁止warning
  14. 给定激励,求零输入响应、零状态响应,全响应
  15. 2011-07 《信息资源管理 02378》真卷解析,逐题解析+背诵技巧
  16. 梦几月,醒几年,今夕是何年。又一年,任时光流逝,回首已是2022年
  17. 计算机博士 英语词汇,2017考博英语词汇
  18. MAC下终端走代理的几种方法
  19. linux dns慢导致ftp慢,ftp登陆慢,登陆超时,上传速度慢解决方法
  20. 名编辑电子杂志大师教程 | 如何制作手机版电子杂志

热门文章

  1. go语言 select
  2. Python Logging Formatter
  3. selection.text
  4. git 理解 远程分支
  5. oracle database version,Oracle Database Version History
  6. 运维真的被云革命掉了吗?
  7. RedHat6.7安装教程,图解,超详细
  8. VMware 大中华区原厂认证讲师(大陆地区)2018 年 8 月 8 日更新
  9. Postman使用总结(1)——Postman 自动化测试小结
  10. 四级英语图表作文真题计算机,四级作文辅导二:图表类作文(范文、模板、必备句型。对了,还有作业)...