加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl比较运算符和字符串的“数字”

发布时间:2020-12-15 22:04:08 所属栏目:大数据 来源:网络整理
导读:我一直在使用perl工作很多,但是我仍然不知道如何使用“number”表示字符串“数字”上的,, =,=,ne,gt等.像:'1.4.5.6.7.8.0' 纠正我如果我错了,以下返回true: if ('1.4.5' '8.7.8'); 因为两者都将被强制为true(不是一个空字符串). 但是,gt等字符串运算符对这
我一直在使用perl工作很多,但是我仍然不知道如何使用“number”表示字符串“数字”上的<,>,> =,=<,ne,gt等.像:'1.4.5.6.7.8.0' 纠正我如果我错了,以下返回true:
if ('1.4.5' > '8.7.8');

因为两者都将被强制为true(不是一个空字符串).
但是,gt等字符串运算符对这样的数字有何作用?

基本上我试图比较由以下形式组成的版本号:

1.3.4.0.2

我可以对每个数字进行数字比较,但之前,我还想知道
字符串比较运算符对这些字符串执行.

谢谢,

解决方法

首先:请一直使用警告.您将立即意识到以下几点:
$perl -wle 'print 1 unless "1.4.5" > "8.7.8"'
Argument "8.7.8" isn't numeric in numeric gt (>) at -e line 1.
Argument "1.4.5" isn't numeric in numeric gt (>) at -e line 1.

Perl v5.9.0分发了version.这个模块比较版本号很容易:

use warnings;
use version;

my ($small,$large) =  (version->parse('1.4.5'),version->parse('8.7.8'));

print "largern"    if $small > $large;
print "smallern"   if $small < $large;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读