让我们检查以下perl代码
if ($a lt 0.00 or $a gt 100.000) { print "a must be between 0 and 100 \n"; exit 1 } exit 0
让我们说a等于5.上面的代码将以失败状态退出,因为a不在0到100之间.
只需将lt和gt替换为它们所代表的实际运算符,<和>分别产生预期的结果.用以9开头的数字替换100也将产生预期结果.
为什么Perl的比较运算符告诉我5不在0到100之间?
解决方法
lt和gt是字符串运算符,你想要使用简单的旧数字<和>. Perl在值上是多态的,因此它在运算符上是单态的(不像python那样是另一种方式).