zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    0714买卖股票的最佳时机含手续费 Marathon
    0070爬楼梯 Marathon
    0045跳跃游戏II Marathon
    0343整数拆分 Marathon
    0406根据身高重建队列 Marathon
    0096不同的二叉搜索树 Marathon
    0763划分子母区间 Marathon
    0435无重叠区间 Marathon
    0452用最少数量的箭引爆气球 Marathon
    0509斐波那契数 Marathon
  • 原文地址:https://www.cnblogs.com/xiaopengren/p/3431211.html
Copyright © 2011-2022 走看看