my $base_dir_abs = "/var/www/templates"; my $default_lang = 'en'; my $lang = lc $ENV{'HTTP_ACCEPT_LANGUAGE'} my @dirs = ("$base_dir_abs/$default_lang"); if ($lang && $lang ne $default_lang && $lang =~ /^(\w{2})/ # may look like "en-us" && -d "$base_dir_abs/$1") { unshift @dirs, "$base_dir_abs/$1"; } my $tt = Template->new({ INCLUDE_PATH => \@dirs }); $tt->process($file); OR my $ht = HTML::Template->new( filename => $file, path => \@dirs, );