1

私はと呼ばれるハッシュを持っています

%values

今、サブルーチンでハッシュ全体を返したい

sub getvalues {
  return $values;
}

しかし、$value には定義が必要で、プログラムが停止するため、エラーが発生しました。私が使用している場合

sub getvalues {
  return %values;
}

動作しているように見えますが、私のプログラムは非常に遅く、先に進みません...では、どうすればマップ全体を返すことができますか?

4

1 に答える 1

1

ハッシュの代わりにハッシュ参照を返すといいでしょう。あなたがする必要があるのは

最初にハッシュをハッシュ参照に記述してから、次のように返します

sub getvalues {

    my %values = (test => "SO");

    my $values = \%values;

    return $values;
  }
于 2013-07-10T05:34:32.520 に答える