sub blabla { my ($poe_args) = shift; $poe_args->{KERNEL}->yield("bla"); delete $poe_args->{HEAP}->job; } #### ... as follows: ARG0 = the return value of syscall(), ARG1 = errno() - the numeric value of the error generated, ARG2 = error() - a descriptive for the given error, ARG3 = the wheel id, and ARG4 = the handle on which the error occurred (stdout, stderr, etc.) #### sub errorhandler { my ($poe_args) = shift; if ($poe_args->{ERRNO} == 2) { print $poe_args->{ERROR}; }; }