如何比较Perl中的两个字符串?
我正在学习Perl,我有一个基本的问题,我在StackOverflow上查了一下,没有找到好的答案,所以我想我应该问一下。
发布于 2009-07-24 01:35:10
print "Matched!\n" if ($str1 eq $str2)
Perl有单独的字符串比较运算符和数字比较运算符来帮助解决语言中的松散类型问题。您应该阅读所有不同运算符的perlop。
发布于 2013-06-19 11:27:02
如果您想提取两个字符串之间的差异,可以使用String::Diff。
发布于 2021-04-16 12:15:53
我来寻找一种解决方案,在perl中,我可以比较A>B或Z< AA。这里没有什么对我来说是可靠的,所以我想出了我自己的解决方案。诀窍是为每个字母分配一个数字
例如
A=1
B=2
C=3 and so on
然后,当时间到了进行比较时,如果A>B,则得到相应的数字,并在本例中比较它们1>2
下面是可用的perl代码。
# 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
}
}
https://stackoverflow.com/questions/1175390
复制相似问题