今天早上我在进行代码审查,发现了一些错误的代码,但我不知道为什么。
$line =~ /^[1-C]/;
这条线应该计算为1
and之间的十六进制字符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