$chr = "a"; $chr++; # <- b になる $chr = "z"; $chr++; # <- aa になる(桁上がり) ちなみに、z の次は aa で、Z の次は AA 。小文字->大文字(または逆)にはならない。(多分) $str = "aZ"; $str++; # <- bA $str = "zZ"; $str++; # <- aaA ただし、デクリメントはできない。(なんで?) 数字で構成される文字列も、文字列として処理される $str = "00"; $str++; # <- 01 これは、 $str += 1; だと、01 ではなく 1 になる。 この場合のデクリメントは、数値として処理される。 undef は数値コンテキスト扱いになり、undef -> ++ -> 1 になる。