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