文字列として比較する

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