2012-08-07 81 views

回答

5

chr(ord('A') + 1) 。 Perl没有字符类型,它有一个字符串类型。而一个字符串的行为不像ASCII值那样。您想要ord将其转换为数字代码点并将其转换回chr

+1

作为一种特殊情况,您可以'++'字符串。 – 2012-08-07 15:04:45

+0

@ OlegV.Volkov,'++'的魔力不像在C的'char'类型上进行算术运算。在C和'my $ foo ='Z'中做'char foo ='Z'+ 1'; $ foo ++;'在Perl中会有非常不同的结果。 – 2012-08-07 15:12:21

+0

@ Ven'Tatsu,当然。由于它确实是“特殊的”,因此它的逻辑更复杂,在使用它之前阅读文档更好。顺便说一句,也没有相应的'--'。 – 2012-08-07 15:14:39

2

如果您将字符串存储在变量中,那么you can increment them

$ perl -E'$a = "A"; say ++$a' 
B 

$ perl -E'$a = "abacaa"; say ++$a' 
abacab 

$ perl -E'$a = "Z"; say ++$a' 
AA