in reply to Re^2: Parsing command-line arguments in a sophisticated way.
in thread Parsing command-line arguments in a sophisticated way.

Not sure what you mean with "not safe". It is quite literally what was requested.

  • Comment on Re^3: Parsing command-line arguments in a sophisticated way.

Replies are listed 'Best First'.
Re^4: Parsing command-line arguments in a sophisticated way.
by haukex (Archbishop) on Feb 05, 2019 at 09:26 UTC
    Not sure what you mean with "not safe". It is quite literally what was requested.

    The OP said "We allow to use every possible string and argument after `--job`." For me, that includes the string --job itself.

    use Data::Dump; my @argv = qw/ foo --job X --job Y --job Z /; my ($args, $job) = split /--job /, join( ' ', @argv ); dd $args, $job; __END__ ("foo ", "X ")

    Another one, a command line of --hello "world --job foo" --job bar:

    use Data::Dump; my @argv = ('--hello','world --job foo','--job','bar'); my ($args, $job) = split /--job /, join( ' ', @argv ); dd $args, $job; __END__ ("--hello world ", "foo ")

      Gotcha! Clear lack of imagination on my side... Thanks!