[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Event Handling



* muppet <scott asofyet org> [2005-08-04 22:35]:
>   sub foo_event {
>      my ($item, $event) = @_;
>      my $handler = $foo_event_dispatch{$event->type};
>      return $handler
>           ? $foo_event_dispatch{$event->type}->($item, $event)
>           : FALSE;
>   }

    sub foo_event {
       my ($item, $event) = @_;
       my $handler = $foo_event_dispatch{$event->type};
       return $handler ? $handler->($item, $event) : FALSE;
    }

Or even cutely hacked:

    sub foo_event {
       my ($item, $event) = @_;
       ($foo_event_dispatch{$event->type} || return FALSE)->($item, $event);
    }

Or taking advantage of the fact that you can `goto` a coderef:

    sub foo_event {
       my ($item, $event) = @_;
       goto &{ $foo_event_dispatch{$event->type} || return FALSE };
    }

Err, okay, I’ll stop now.

Regards,
-- 
#Aristotle
*AUTOLOAD=*_=sub{s/(.*)::(.*)/print$2,(",$\/"," ")[defined wantarray]/e;$1};
&Just->another->Perl->hacker;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]