sub mk_tagger { my($tag) = @_; return sub { my($txt) = @_; "<$tag>$txt" }; } my ($bold, $underline, $italic) = map { mk_tagger($_) } qw( b u i ); print $bold->("what a " . $underline->("nice") . $italic->(" day"));