带有if判断的 字符串进行 ++ 运算,为什么会得到数字?

带有if判断的 字符串进行 ++ 运算,为什么会得到数字?

代码如下

[Copy to clipboard] [ - ]
CODE:
$a="a";
for ( $i=0; $i<5; $i++ )
{
                print $a++;
        if($a=="10")
        {
                print $a++;
        }
}

得到的输出

[Copy to clipboard] [ - ]
CODE:
ab123

如果去掉if语句
输出

[Copy to clipboard] [ - ]
CODE:
abcde

为什么会有这种显现??

因为数字和字符串都支持 ++ 运算,你 == 了一下,改变了变量的类型。
Perl 是弱类型,这一点一定要注意。
if语句写的有问题

应该是

[Copy to clipboard] [ - ]
CODE:
if($a =~ /10/)

Perl还是不熟
use warnings;
use strict;
是个好东西
会有提示的

string比较用 $a eq $b
number比较用 $a == $b