在Perl中, 默认的数据结构都是平面线性的, 数组, 散列都是一维的。那如果我们需要使用多维或者多层次的数据结构时, 我们就需要使用到引用。 在Perl中, 存在2种类型的引用:符号引用, 硬引用 符号引用往往只是一个字符串, 它的值恰巧是包的符号表里面的某个元素的名字。当我们在给一个不是硬引用的数值进行析值时, 这个值会被当作符号引用, 这个功能很酷, 但是这样做会非常危险,可能出现奇怪的, 并非我们预期的情况, 因此在Perl中, 一般情况都是尽量避免使用符号引用, 我们可以显式的关掉这个功能: use strict "refs"; 在Perl中普遍使用的是硬引用, 通常直接说引用, 都是指的硬引用。 硬引用中存储的是被引用的数据本身, 它并不知道被引用的数据名字, 它直接保存的是被引用的数据本身。 引用可以指向任何数据以及数据结构。 在处理中, 引用是被当作标量来对待的,因此我们可以依靠引用, 来组建二维或者多维数组, 散列, 甚至其他需要的混合数据结构。