2009-06-30 9 views

答えて

4

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

POEのヒープ($_[HEAP]からアクセス可能)を使用して、さまざまなハンドラ間でデータを渡すことができます。

According to the docsでは、デフォルトでセッション間でヒープが区別されますが、異なるセッションでヒープを共有するようにオーバーライドすることは可能です。

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

sub another_handler { 
    print $_[HEAP]{some_data}, "\n"; # prints "foo\n" 
} 
+0

セッションを作成するときに、ヒープに新しいハッシュが使用されていると言っています。セッションを作成するときに手動でヒープを指定することができます。http://search.cpan.org/perldoc?POE::Session#heap_=>_ANYTHING セッションのヒープまたは配列などに既存のハッシュを使用できます。 – Hinrik

関連する問題