我正在使用Perl编写简单的密码检查程序,我正在比较两个字符串 " ABC @ 123"和" " ABC"使用eq运算符Perl将两个字符串视为相等。有没有办法比较具有字符和数字的字符串与另一个字符串?
答案 0 :(得分:7)
启用警告!
use warnings;
my $x = "abc@123";
print $x;
$x
“abc”,您会收到警告:
Possible unintended interpolation of @123 in string
告诉你已将空数组@ 123插入到字符串中。
正确引用:
my $x = 'abc@123';
if ( $x eq 'abc' ) {
print "eq";
}
else {
print "not eq";
}
你得到'不是eq'就像你期望的那样。
正如TLP所说,不使用严格和警告就是在寻找麻烦。