質問

誰もがPOEセッション内でどのように機能するか、変数のスコープ説明できますか?他のセッションに影響を与えることなく、セッション内状態を渡すために適切な方法は何ですか?

のおかげで ジョシュ

役に立ちましたか?

解決

スコープはPOEの影響を受けません。

あなたは、さまざまなハンドラの間の周りにデータを渡すためにPOEのヒープ($_[HEAP]を介してアクセス可能)を使用することができます。

ドキュメントによると、、ヒープは、デフォルトでは、セッションの間に別個のものであるが、別のセッションがヒープを共有するように、このメソッドをオーバーライドすることが可能である。

sub my_state_handler {
    $_[HEAP]{some_data} = 'foo';
    $_[KERNEL]->yield('another_handler');
}

sub another_handler {
    print $_[HEAP]{some_data}, "\n"; # prints "foo\n"
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top