文字列として比較する
perlは変数が数値として振る舞うこともできますし、文字列として振る舞うこともできます。
次のように変数を初期化し、数値として比較すると両方の変数は等しいです。
$a = "1"; $b = "01"; if ($a == $b) { //等しい ... }
しかし、数値としてではなく、文字列として比較すると等しくありません。
if ($a eq $b) { //等しくない ... }
文字列の比較演算子としてeqを使いましたが、他にも文字列の比較演算子があります。
文字列の比較演算子
$x lt $y $xが$yより小さい less than $x gt $y $xが$yより大きい greater than $x le $y $xが$y以下である less than or equal $x ge $y $xが$y以上である greater than or equal $x eq $y $xが$yと等しい equal $x ne $y $xが$yと等しくない not equal
どちらの文字列が大きいか小さいか
文字列を小さい順に並べてます
aaa //小さい aab aba baa //大きい
aa aaa aab
001 010 10 100
文字列として考えた場合、数字(0〜9)より文字(a〜z)のほうが大きい
10
1a
a1
aa