どのようPOEセッションで変数のスコープに動作しますか?
-
21-08-2019 - |
質問
誰もが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"
}
所属していません StackOverflow