在perl散列中,大括号是一个必需元素,里面标识符使用不当会产生不可预料的错误。
$weeks{‘Mon’} | #正确 |
$weeks{“Mon”} | #正确 |
$weeks{Mon} | #正确,大括号中内容默认为字符串 |
$weeks{‘Mon’,’Tue’} | #正确 |
$weeks{“Mon”,”Tue”} | #正确 |
$weeks{Mon Tue} | #错,产生一个解析错误 |
@weeks{“Mon”,”Tue”} | #正确相当于$weeks{“Mon”}和$weeks{“Tue”} |
@weeks{Mon Tue} | #在use strict情况下会出错 |
所以在使用散列时,不要图省事省略掉引号,不用不一定错,但用了一定不错。