use AnyLanguage; my @lexicon = [ ( REGEXP => regex1, ACTION => sub { code1 } ), ... ( ACTION => sub { default code } ) ]; my $MyLanguage = AnyLanguage -> new( \@lexicon ); ... while ( my $input = ... ) { $MyLanguage -> dispatch{ $input }; }