Исправление DRVTiny, (текущая версия) :
По-моему паттерн не такой уж и сложный
sub {
state $first_run=0;
on->('event' => __SUB__) unless $first_run++;
do_something();
}->()
sub {
state $first_run;
on->('event' => __SUB__) unless ($first_run+0)==($first_run|=1);
do_something();
}
Исходная версия DRVTiny, :
По-моему паттерн не такой уж и сложный
sub {
state $first_run=0;
on->('event' => __SUB__) unless $first_run++;
do_something();
}->()
sub {
state $first_run;
on->('event' => __SUB__) unless ($first_run+0)==($first_run|=1);
do_something();
}