From 3d937997d2563f00b05d842180c47a57f0d59b29 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 25 Feb 2012 01:55:10 -0600 Subject: better calling convention for the callbacks --- examples/nethack | 6 ++++-- lib/Term/Filter.pm | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/nethack b/examples/nethack index eeef69b..deee504 100644 --- a/examples/nethack +++ b/examples/nethack @@ -7,12 +7,14 @@ use Term::Filter; my $term = Term::Filter->new( callbacks => { munge_input => sub { - my ($event, $got) = @_; + my $self = shift; + my ($got) = @_; $got =~ s/\ce/E- Elbereth\n/g; $got; }, munge_output => sub { - my ($event, $got) = @_; + my $self = shift; + my ($got) = @_; $got =~ s/(Elbereth)/\e[35m$1\e[m/g; $got; }, diff --git a/lib/Term/Filter.pm b/lib/Term/Filter.pm index 519855d..b879fb3 100644 --- a/lib/Term/Filter.pm +++ b/lib/Term/Filter.pm @@ -14,10 +14,10 @@ has callbacks => ( sub _callback { my $self = shift; - my ($event) = @_; + my ($event, @args) = @_; my $callback = $self->callbacks->{$event}; return unless $callback; - return $callback->(@_); + return $self->$callback(@args); } sub _has_callback { -- cgit v1.2.3