如何访问此转储器输出表示的哈希?

时间:2017-10-29 03:33:29

标签: perl

我正在攻击一个git-svn Perl脚本。我有一个$paths变量,我认为它包含一系列单独的路径,但我很难迭代它。我的最终目标是在一条路径上添加一个额外的属性。

这是转储器输出。

{
    "/dira" => {
        action        => "A",
        copyfrom_path => undef,
        copyfrom_rev  => -1
    },
    "/dira/dirb" => {
        action        => "A",
        copyfrom_path => undef,
        copyfrom_rev  => -1
    },
    "/dira/dirb/test.55mb.file" => {
        action        => "A",
        copyfrom_path => undef,
        copyfrom_rev  => -1
    },
}

1 个答案:

答案 0 :(得分:3)

根据该输出,center是对哈希引用哈希的引用。

如果您知道要扩展哪条路径,则无需迭代:

$paths

如果要对所有路径统一执行此操作,可以执行以下操作:

$paths->{'/foo/bar'}{'my_attribute'} = 42;

有关哈希值的信息,请参阅perldoc perldata,有关引用和嵌套数据结构的信息,请参见perldoc perlreftut