my %functions = ( function1 => [["arg1", { arg2 => val2 }], [...], ... ], function2 => [...], ..., ); while (my ($func, $argsList) = each %functions) { for my $args (@$argsList) { print "Test $func against args $key\n" &{"harcommon::$func"}(@$args); } }