my (@opt_i_list, @opt_o_list, @opt_p_list); # # ####Put options into Arrays # if ($opt_i) { @opt_i_list = split(",", $opt_i); } else { #No $opt_i parameter: Use default $opt_i_list[0] = $DEFAULT_OPT_I_VALUE; } if ($opt_o) { @opt_o_list = split(",", $opt_o); } else { $opt_o_list[0] = $DEFAULT_OPT_O_VALUE; } if ($opt_p) { @opt_p_list = split(",", $opt_p); } else { $opt_p_list[0] = $DEFAULT_OPT_P_VALUE; } # # ####Now run processOne for each arrangement of parameters # foreach my $opt_i_value (@opt_i_list) { foreach my $opt_o_value (@opt_o_list) { foreach my $opt_p_value (@opt_p_list { processOne('$opt_i_value',$opt_p_value,$opt_o_value) } } }