http://www.perlmonks.org?node_id=549577

QM has asked for the wisdom of the Perl Monks concerning the following question:

I've had to add multiple option lists to a Getopt::Declare option spec, like so:
my $spec = qq{ [nocase] [strict] Description: $0 massages WAT, WS, FT, and SLT data into one output file, matchi +ng on DIE ID and WAT site. Options: -map <map_file:if> reticle to die_id YAML file created by anoth +er script [required] -wat <wat_files:if>... , list of WAT files, in CSV format. (Normally the WAT files come in Excel XLS format, just save as + CSV.) -ws <ws_files:if>... , list of WS files. -ft <ft_files:if>... , list of FT files. -slt <slt_files:if>... , list of SLT files. };
Note: to get the lists to play nicely together, I had to add a list terminator. Otherwise, the next option is seen as the next item on the current list. (For lack of inspiration, I chose comma as the terminator.)

Is there a way to make this work without the list terminator? It's especially egregious on the last list, but the options can be in any order. Also, users are complaining about missing data, "weird" error messages, etc., all attributed to incorrect command line options (e.g., no whitespace around commas).

I'd really like to make this more user friendly, but I've got coder's block or something.

-QM
--
Quantum Mechanics: The dreams stuff is made of