package L10N; use base qw(Locale::Maketext); 1; package L10N::pl; use Locale::Maketext; use base qw(L10N); %Lexicon = ( "Foobar [quant,_1,staff]" => "Foobar [quant,_1,staf,stafow,zero stafu]\n", "Foobar [_1]" => "Foobar [quant,_1,staf,stafow,zero stafu]\n", ); 1; package Main; my $lh = L10N->get_handle('pl') || die "Language?"; print $lh->maketext("Foobar [_1]", 2); print $lh->maketext("Foobar [quant,_1,stuff]", 2); __OUTPUT__ Foobar 2 stafow maketext doesn't know how to say: Foobar [quant,_1,stuff] as needed at a1.txt line 20 #### While you can use arbitrary unique IDs for lexicon keys (like "_min_larger_max_error"), it is often useful for if an entry's key is itself a valid value,