%some和%{$ something}之间的区别?

时间:2014-05-05 15:11:15

标签: perl syntax

实际上有两个(几乎?)类似的问题。

  1. %something%{$something}有什么区别?

  2. %{$hashvar{xyz}}%hashvar{xyz}有什么区别?

1 个答案:

答案 0 :(得分:4)

  1. %something表示something是哈希变量,%{$something}表示$something是包含对哈希引用的标量变量

  2. %{$hashvar{xyz}}表示$hashvar{xyz}(与哈希xyz中的键hashvar相关联的值)是哈希引用

  3. 从Perl 5.20开始,%hashvar{xyz}key/value hash slice,将返回'xyz'$hashvar{xyz};在此之前,这是一个语法错误。


  4. 参考文献:
    perldata - Perl data types
    perldsc - Perl Data Structures Cookbook