1
2
3
4
5
MODULENAME | de | en | fr
-------------+-----------+------------+------------
MOD1 | Hallo | Hello | Ciao
MOD2 | ABC | DEF | GHI
MOD3 | 123 | 456 | 789
$ref->{MOD2}->{en}
1 2 3 4 5
$ref = { MOD1 => {de=> 'Hallo', en=> 'Hello', fr => 'Ciao'}, MOD2 => {de=> 'ABC', en=> 'DEF', fr => 'GHI'}, MOD3 => {de=> 123, en=> 456, fr => 789}, };
1 2 3 4 5 6 7 8
my $sth = $dbh->prepare("SELECT MODULENAME, de, en, fr FROM t"); $sth->execute; my $modules; while (my $row = $sth->fetchrow_hashref) { for my $lang (qw/ de en fr /) { $modules->{ $row->{MODULENAME} }->{ $lang } = $row->{ $lang }; } }