package Tie::I18N; use Tie::Hash; use base qw/Tie::StdHash/; my %STRINGS = ( DE => { ASK => "wieviele zeitschriften wollen sie kaufen?", }, EN => { ASK => "how many mags you wanna buy?", } ); sub TIEHASH { my ($package, $language) = @_; return bless {LANGUAGE => uc $language}, $package; } sub FETCH { my ($self, $what) = @_; return $STRINGS{$self->{LANGUAGE}}->{uc $what} || ""; } 1;