Perl - 简单if语句不起作用

时间:2014-03-27 18:47:11

标签: perl stdin

我正在尝试编写一个循环来确定用户输入是否与字符串$ rev匹配。无论我为$ seq键入什么,它都会返回它不匹配,即使它实际上是。我究竟做错了什么?谢谢你的帮助。

$seq = <>;
$rev = "string";
if ($seq eq $rev){
    printf("The two strings match.\n");
}
else {
    printf("The two strings do NOT match.\n");
}

2 个答案:

答案 0 :(得分:8)

您需要chomp输入以删除换行符:

$seq = <>;
chomp $seq;
$rev = "string";
if ($seq eq $rev){
    print "The two strings match.\n";
}
else {
    print "The two strings do NOT match.\n";
}

此外,使用print代替printf,因为您没有指定格式。

答案 1 :(得分:1)

更改代码

$seq = <>;

chomp($seq = <>);