-cmdline_option REG1=value1, value2, value3, value4 -cmdline_option REG2=value1, value2, value3, value4 ... -cmdline_option REG500=value1, value2, value3, value4 ... #### -cmdline_option_done REG1=Value -cmdline_option_done REG2=Value -cmdline_option_done REG3=Value .... #### -cmdline_option_done=s% #### my %opt = ( 'reg_ll_ul_pc_zp' => { REG1 => [0, 100, 100, 0], REG2 => [0, 100, 100, 0], REG3 => [0, 100, 100, 0], REG4 => [0, 100, 100, 0], REG5 => [0, 100, 100, 0], REG6 => [0, 100, 100, 0], }, ); my @opt_array = qw( reg_ll_ul_pc_zp=s???? ( :( ) ); GetOptions(\%opt, @opt_array);