in reply to Re: Help with parsing command line to make more readable
in thread Help with parsing command line to make more readable

Ok, this groups  -sub_args -cd together:

c:\@Work\Perl\monks>perl -wMstrict -le "$_ = q(execute test_number_1 -tex -tex_args -sub_args +debug_dir=./ - +sub_args +debug_dir=./ -constraint parity_en,random_en -sub_args '\"' + ruck=1 '\"' -constraint dual_en -sub_args -cd -sub_args 2596.slow -s +ub_args test -seed 1 -tex_args- -opt 1 -tag 2); ;; print qq{>$_< \n}; ;; # my $sw = qr{ (?: -sub_args \s+ \S+ | \S) .*? }xms; my $chunk = qr{ (?: -sub_args \s+ \S+ | \S) .*? (?= \s+ - | \Z) }xms; my $answer; $answer .= s/^-/\t-/gmr . qq{\n} for /$chunk/g; $answer =~ s{^(\s*)(-\w+)\n\K((?:.*\n)*?)(?=\1\2-\n)} { $3 =~ s{^}{\t}gmr }gem; ;; print qq{>>>$answer<<< \n}; " >execute test_number_1 -tex -tex_args -sub_args +debug_dir=./ -sub_arg +s +debug_dir=./ -constraint parity_en,random_en -sub_args '"' ruck=1 +'"' -constraint dual_en -sub_args -cd -sub_args 2596.slow -sub_args t +est -seed 1 -tex_args- -opt 1 -tag 2< >>>execute test_number_1 -tex -tex_args -sub_args +debug_dir=./ -sub_args +debug_dir=./ -constraint parity_en,random_en -sub_args '"' ruck=1 '"' -constraint dual_en -sub_args -cd -sub_args 2596.slow -sub_args test -seed 1 -tex_args- -opt 1 -tag 2 <<<

Update: The
    my $sw = qr{ (?: -sub_args \s+ \S+ | \S) .*? }xms;
statement above is superfluous.


Give a man a fish:  <%-{-{-{-<