如何在哈希中插入哈希哈希?

San*_*ing 3 arrays perl hash

我想从一个空哈希开始,然后在哈希中插入相同类型的哈希哈希.

#!/usr/bin/perl

use strict;
use warnings;

my %h = {};

$h{"1"} => {
    a => -1,
    b => -1,
    c => [
    {
        d => -1,
        e => -1,
    },
    ],
};
Run Code Online (Sandbox Code Playgroud)

但是这给了

Useless use of hash element in void context at ./hash.pl line 8.
Useless use of anonymous hash ({}) in void context at ./hash.pl line 8.
Reference found where even-sized list expected at ./hash.pl line 6.
Run Code Online (Sandbox Code Playgroud)

它是一种我想做的数据库,我可以在其中插入这种删除结构$h{"1"}.

任何想法如何做到这一点?

Eug*_*ash 9

初始化您使用的哈希%h = ().
{}是对空匿名哈希的引用.试试这个:

my %h = ();

$h{"1"} = {
    a => -1,
    b => -1,
    c => [{
        d => -1,
        e => -1,
    }],
};
Run Code Online (Sandbox Code Playgroud)