まくまくPerlノート
数値比較と文字列比較
2008-03-12

Perl には、数値比較用の演算子と、文字列比較用の演算子が用意されています。 下記のリストの内、それぞれ前者が数値比較用、後者が文字列比較用に使用する演算子です。

  • ==, eq
  • !=, ne
  • <, lt
  • >, gt
  • <=, le
  • >=, ge

文字列を意図通りに ASCII コードで比較するには、文字列比較用の演算子を使う必要があります。

正しい文字列比較

'AAA' eq 'BBB'  #=> false

文字列を間違えて数値比較用の演算子で比較してしまうと、内部で数値に変換されて比較されてしまいます。 下記のように文字列を == で比較してしまうと、内部的に両方とも 0 に変換されてから比較されるため、実質的には 0 == 0 という比較になり、結果は true となってしまいます。

間違った文字列比較

'AAA' == 'BBB'  #=> true
2008-03-12