Perl:如何获取对象属性的值

时间:2018-03-23 16:53:07

标签: perl

在下面的示例中,我将如何打印出线程ID?

  $r_event = {
            'type'      => 'READ_' . $task . '_STARTED',
            'timestamp' => $timestamp,
            'threadid'  => $threadId,
            'fdn'       => $fdn
        };

1 个答案:

答案 0 :(得分:4)

你有一个哈希引用(那些通常被用作对象,而JSON称之为"对象")。您可以使用->取消引用它并将所需的密钥放在curlies中:

print $r_event->{'threaded'};

这就像普通的哈希一样。请注意%和parens而不是curlies:

  %r_event = (
            'type'      => 'READ_' . $task . '_STARTED',
            'timestamp' => $timestamp,
            'threadid'  => $threadId,
            'fdn'       => $fdn
        );

在这种情况下,它只是$r_event{'threaded'}没有箭头,因为没有参考。

我的图书Intermediate Perl涵盖了这一点,您也可以在perlref找到它。