• Perl 数字与字符串运算符之区别


    在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 != ";  

    if ($num1 != $num2) {  

        print "$two_numbers are not equal ";  

    } else {  

        print "$two_numbers are equal ";  

    }  

       

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

    if ($str1 != $str2) {  

        print "$two_strings are not equal ";  

    } else {  

        print "$two_strings are equal ";  

    }  

       

    print "Compare two numbers using ne ";  

    if ($num1 ne $num2) {  

        print "$two_numbers are not equal ";  

    } else {  

        print "$two_numbers are equal ";  

    }  

       

    print "Compare two strings using ne ";  

    if ($str1 ne $str2) {  

        print "$two_strings are not equal ";  

    } else {  

        print "$two_strings are equal ";  


     

    结果:

    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 

  • 相关阅读:
    Ubuntu(Linux) + mono + jexus +asp.net MVC3 部署
    爬虫代理
    爬取文件时,对已经操作过的URL进行过滤
    Scrapy项目创建以及目录详情
    Scrapy 框架 安装
    爬虫案例
    爬虫基础以及 re,BeatifulSoup,requests模块使用
    Django_Admin操作
    django 权限管理permission
    Node--01
  • 原文地址:https://www.cnblogs.com/xiaopengren/p/3431211.html
Copyright © 2020-2023  润新知