in reply to Language or string templates?

There are a number of modules on CPAN to read configuration files. Config::IniFiles is an example. You could have a section for each language. It even provides a interface to tie to a global:

use Config::IniFiles; tie %GLOBALS, 'Config::IniFiles', ( -file => "/path/configfile.ini" ); print "We have $GLOBALS{$lang}{Parameter}." if $GLOBALS{$lang}{Parameter};

or

use Config::IniFiles; my %ini; tie %ini, 'Config::IniFiles', ( -file => "/path/configfile.ini" ); %GLOBALS = %{$ini{$lang}}; print "We have $GLOBALS{Parameter}." if $GLOBALS{Parameter};

or you can simply do "filename" to execute its content as if it was in the current file. File filename could contain something like:

$GLOBALS{'strCliDeactivated'} = "Currently not active"; $GLOBALS{'strNotActive'} = "date has not yet been reached"; $GLOBALS{'strExpired'} = "date has been reached";