summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/nethack6
-rw-r--r--lib/Term/Filter.pm4
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 {