0

我真的很困惑如何在 perl 中创建一个方法。我想做的是有一个方法说
printdoc(%hash)。我希望能够调用 printdoc(%myhash) 然后它使用方法中的内容来打印信息然后返回到我的代码。我在这里的用途是我有几个哈希值,我想以某种相同的方式打印,但不必复制粘贴代码,我只想能够调用它。

4

1 回答 1

2

您使用sub关键字:

sub printdoc {
  my %hash = shift;
  # do whatever
}

printdoc(%hash)

但是,这是次优的,因为%hash将被复制。相反,传递参考更好:

sub printdoc {
  my $hash_ref = shift;
  my %hash = %$hash_ref;
  # do whatever
}

printdoc(\%hash);

顺便说一下,这被称为“子程序”或“函数”。“方法”特别是对象上的一个函数——难怪你只是得到了面向对象的答案。:)

于 2012-12-11T06:57:20.007 回答