use locale;
use POSIX 'locale_h';

$words = "Lötöse Lottokönig";
@locale{qw(German English)} = qw(de_DE.ISO_8859-1 us-ascii);

setlocale(LC_CTYPE, $locale{English})
  or die "Invalid locale $locale{English}";
@english_words = ();
while ($words =~ /\b(\w+)\b/g) 
  { push(@english_words, $1); }
  
setlocale(LC_CTYPE, $locale{German})
  or die "Invalid locale $locale{German}";
@german_words = ();
while ($words =~ /\b(\w+)\b/g) 
  { push(@german_words, $1); }

print "English: ", join(",",@english_words), "\n";
print "Deutsch: ", join(",",@german_words), "\n";

# Ergebnis: 
# English: L,t,se,Lottok,nig
# Deutsch: Lötöse,Lottokönig