首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何比较Perl中的两个字符串?

如何比较Perl中的两个字符串?
EN

Stack Overflow用户
提问于 2009-07-24 01:30:03
回答 3查看 431.5K关注 0票数 195

如何比较Perl中的两个字符串?

我正在学习Perl,我有一个基本的问题,我在StackOverflow上查了一下,没有找到好的答案,所以我想我应该问一下。

EN

回答 3

Stack Overflow用户

发布于 2009-07-24 01:35:10

代码语言:javascript
复制
print "Matched!\n" if ($str1 eq $str2)

Perl有单独的字符串比较运算符和数字比较运算符来帮助解决语言中的松散类型问题。您应该阅读所有不同运算符的perlop

票数 10
EN

Stack Overflow用户

发布于 2013-06-19 11:27:02

如果您想提取两个字符串之间的差异,可以使用String::Diff

票数 1
EN

Stack Overflow用户

发布于 2021-04-16 12:15:53

我来寻找一种解决方案,在perl中,我可以比较A>B或Z< AA。这里没有什么对我来说是可靠的,所以我想出了我自己的解决方案。诀窍是为每个字母分配一个数字

例如

代码语言:javascript
复制
A=1
B=2
C=3 and so on

然后,当时间到了进行比较时,如果A>B,则得到相应的数字,并在本例中比较它们1>2

下面是可用的perl代码。

代码语言:javascript
复制
# header
use warnings;
use strict;

#create a hash of letters
my %my_hash_lookup;
my $letter_counter=0;
foreach my $letters ('A'..'ZZ')
{
    #print "$letters \n";
    
    $letter_counter++;
    my $key = $letters;
    my $keyValue = $letter_counter;
    $my_hash_lookup{$key}=$keyValue;
}


my $size = keys %my_hash_lookup;
print "hash size: $size ...\n";

#get number value of string letters
        my $my_hash_value1 = $my_hash_lookup{"A"};
        my $my_hash_value2 = $my_hash_lookup{"B"};
        
        if  ( (defined $my_hash_value1) && (defined $my_hash_value2))
        {

            if ($my_hash_value1 == $my_hash_value2)
            {
                #equal
            }
            elsif ($my_hash_value1 > $my_hash_value2)
            {
                #greater than
                
            }
            elsif ($my_hash_value1 < $my_hash_value2)
            {
                #less than
            }
            
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1175390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档