foo($pflicht1, $pflicht2, opt1 => 123, opt3 => 456); sub foo { my $pflicht1 = shift; my $pflicht2 = shift; my %opt = ( opt1 => "Default_für_opt1", opt2 => "default-opt2", @_); say $opt{opt1}; # 123 say $opt{opt2}; # default-opt2 }