sub translate_bold { ... } sub translate_italics { ... } ... #### sub build_trans { my ($usenet, $tag) = @_; return sub { my ($text) = @_; # do translation here, using $usenet and $tag } } #### while (my $pat = &read_trans_pattern($cfg)) { $trans_funcs{$pat->{'usenet'}} = &build_trans_func($pat->{'usenet'}, $pat->{'tag'}); }