I need to parse dynamic varying command line strings and create a hash of the syntax.
An example of the string is below (there are more variations to this with different syntax) :
dfpm dataset add -D -N <node-name> <data-set-name-or-id> { <volume-name-or-id> | <qtree-name-or-id> | <ossv-dir-name-or-id> | <storage-system-name-or-id> | <host-name-or-id> } ...
A brief about the syntax in the string :
[] - optional parameters
<> - mandatory parameters
{|} - or parameters
The hash i need to build from the string mentioned above is below :
$dataset_add = { 'mandatory' => [ { 'param1' => '$data-set-name-or-id', } ], 'optional' => [ { 'switch' => '-D', 'value' => '' }, { 'switch' => '-N', 'value' => '$node-name' }, { 'switch' => '', 'value' => [$volume-name-or-id,$volu +me-name-or-id,$ossv-dir-name-or-id,$storage-system-name-or-id,$host-n +ame-or-id ] }, ] }
Looking for direction to accomplish the same.
Thanks in Advance!
In reply to Parsing command string into a hash by perlpal
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |