首页 > 编程 > Perl > 正文

Perl 哈希的创建和引用介绍

2020-06-04 20:30:07
字体:
来源:转载
供稿:网友

语法
创建'引用'仅有两种方法,使用它也是两种。

创建引用

创建规则 1
如果你在一个变量前加一个'/'号,你就得到了这个变量的'引用'。

    $aref = /@array;         # $aref 保存着指向@array的'引用'
    $href = /%hash;          # $href 保存着指向%hash的'引用'
当你把'引用'保存在类似 $aref 或 $href的变量中,你就可以象操作其他标量一样copy或保存它。

    $xy = $aref;             # $xy 现在保存了指向 @array 的'引用'
    $p[3] = $href;           # $p[3] 现在保存了指向 %hash 的'引用'
    $z = $p[3];              # $z 现在保存了指向 %hash 的'引用'
这些例子展示了如何创建命名变量的'引用',但是有时候,我们创建的数组或哈希没有名字。这个和你使用没有放到变量中去的字符串'/n'或数字'80'类似。

创建规则 2

[ ITEMS ] 创建了一个新的、匿名的数组,并返回一个指向这个数组的'引用'。 { ITEMS } 创建了一个新的、匿名的哈希,并返回那个哈希的一个'引用'。

    $aref = [ 1, "foo", undef, 13 ];  
    # $aref 保存了这个数组的'引用'
    $href = { APR =>; 4, AUG =>; 8 };   
    # $href 保存了这个哈希的'引用'
从规则 2 中得到的'引用'和从规则 1 中得到的'引用'是同一种类型的:

        # 这里:
        $aref = [ 1, 2, 3 ];
        # 和上面一样:
        @array = (1, 2, 3);
        $aref = /@array;
前面一种方法是后面两行的缩写,除了第一种方法没有创建一个多余的数组变量@array。

如果你只是编写符号 [], 你将得到一个新的、空匿名数组。如果你使用符号 {},就能得到一个新的、空匿名哈希。

使用引用

当你创建了一个'引用'后,你可以对它做什么操作呢?它是标量,你可以象处理任何标量一样保存和取回它。除此之外,还有两种使用方法:


使用规则 1
你可以始终用一个带有大括号的数组'引用',来替换一个数组的名字。例如,用 @{$aref} 代替 @array。

下面是一个用法的一些例子:

数组:

        @a              @{$aref}                一个数组

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表