Perl には、数値比較用の演算子と、文字列比較用の演算子が用意されています。 下記のリストの内、それぞれ前者が数値比較用、後者が文字列比較用に使用する演算子です。
==
, eq
!=
, ne
<
, lt
>
, gt
<=
, le
>=
, ge
文字列を意図通りに ASCII コードで比較するには、文字列比較用の演算子を使う必要があります。
'AAA' eq 'BBB' #=> false
文字列を間違えて数値比較用の演算子で比較してしまうと、内部で数値に変換されて比較されてしまいます。
下記のように文字列を ==
で比較してしまうと、内部的に両方とも 0 に変換されてから比較されるため、実質的には 0 == 0
という比較になり、結果は true となってしまいます。
'AAA' == 'BBB' #=> true