my %params = ( x_pos => [1..10], y_pos => [-5..5], z_pos => [0..15], spin => [0, 1], neato => [1..10]); #### foreach my $x_pos (@{$params{x_pos}}) { foreach my $y_pos (@{$params{y_pos}}) { . . . my $result = function($x_pos,$y_pos,...) . . . } }