我通过创建哈希发现了一个奇怪的行为:
perl -e "%x = (1 => 10, p2 => 20); while ( ($k,$v) = each %x ) { print \"key $k value $v\n\";}"
Run Code Online (Sandbox Code Playgroud)
给出以下输出:
key p2 value 20
key 1 value 10
Run Code Online (Sandbox Code Playgroud)
但是,如果我将密钥 p2 更改为 1p2,则会出现错误:
perl -e "%x = (1 => 10, 1p2 => 20); while ( ($k,$v) = each %x ) { print \"key $k value $v\n\";}"
Run Code Online (Sandbox Code Playgroud)
输出是:
syntax error at -e line 1, near "1p2"
Execution of -e aborted due to compilation errors.
Run Code Online (Sandbox Code Playgroud)
为什么会报错?
(Win10,草莓Perl v5.30.0)