use strict;
sub decorate {
my ($cb,$text) = @_;
return $cb->($text);
}
my %sub = (
bold => sub { return '' . shift() . '' },
ital => sub { return '' . shift() . '' },
undl => sub { return '' . shift() . '' },
);
for (keys %sub) {
print decorate($sub{$_},'foobar'), "\n";
}