#!/usr/bin/perl use strict; use warnings; use diagnostics; my %test = ( formate => { 'plain ANSI', => [qw(Var1 Var3)], 'plain UTF' => [qw(Var2 Var3)] }, variablen => { 'Var1' => sub { 'foo1'; # natürlich wird hier viel viel mehr gemacht }, 'Var2' => sub { 'foo2'; }, 'Var3' => sub { 'foo3'; } } ); for my $format (sort keys %{$test{formate}}) { for my $var (@{$test{formate}->{$format}}) { print "$format fuehrt $var aus: ". $test{variablen}->{$var}()."\n"; } }