今朝、コード レビューを行っていて、間違ったコードを見つけましたが、その理由はわかりませんでした。
$line =~ /^[1-C]/;
1
この行はとの間の 16 進文字に評価されると想定されていましたC
が、この行はそうではないと思います。問題は何が一致するかではなく、これが何と一致するかです。文字クラスのすべての文字を印刷できますか? 以下のようなものですか?
say join(', ', [1-C]);
ああ、
# Examples:
say join(', ', 1..9);
say join(', ', 'A'..'C');
say join(', ', 1..'C');
# Output
Argument "C" isn't numeric in range (or flop) at X:\developers\PERL\Test.pl line 33.
1, 2, 3, 4, 5, 6, 7, 8, 9
A, B, C