#!/usr/bin/env perl use strict; use warnings; use Term::Filter::Callback; my $term = Term::Filter::Callback->new( callbacks => { munge_input => sub { my $self = shift; my ($got) = @_; $got =~ s/\ce/E- Elbereth\n/g; $got; }, munge_output => sub { my $self = shift; my ($got) = @_; $got =~ s/(Elbereth)/\e[35m$1\e[m/g; $got; }, }, ); $term->run('nethack');