perl也支持数值类型的自增和自减操做。不只如此,还支持字符、字符串的自增、自减。code
$a=10; # 如下4句为独立的自增、自减表达式,自增自减符号的位置无所谓 $a++; # 先返回10,再递增为11 ++$a; # 先递增为12,再返回12 --$a; # 先递减为11,再返回11 $a--; # 先返回11,再递减为10 # 如下4句为非独立的自增、自减表达式,自增自减符号的位置有影响 $m = $a++; # 先返回10赋值给$m,而后$a再递增为11,因此执行结束后$m=10,$a=11 $m = ++$a; # 先递增为12,再赋值给$m,因此执行结束后$m=12,$a=12 $m = --$a; # 先递减为11,再赋值给$m,因此执行结束后$m=11,$a=11 $m = $a--; # 先返回11赋值给$m,而后$a再递减为10,因此执行结束后$m=11,$a=10
对于字符和字符串的自增、自减。规则是从最后一个字符按照ascii顺序向上进一位,也就是A-->Z,a-->z,若是是Z或z字符,再进一位表示多加一个字符。看示例更容易理解。ci
$a="b"; say ++$a; c $a="ba"; say ++$a; bb $a="bz"; say ++$a; ca $a="Az"; say ++$a; Ba $a="bZ"; say ++$a; cA $a="zz"; say ++$a; aaa