У меня есть командная строка, которую я пытаюсь изменить, чтобы удалить некоторые аргументы. Что делает это сложным, так это то, что у меня могут быть вложенные аргументы.
Скажи, что у меня есть это:
$cmdline = "-a -xyz -a- -b -xyz -b- -a -xyz -a-"
У меня есть три разных -xyz
флага, которые должны интерпретироваться в двух разных контекстах. Одним из них является контекст -a
, а другим - контекст -b
.
Я хочу удалить "a" -xyz
, но оставить в "b" -xyz
.
в приведенном выше случае, я хочу:
-a -a- -b -xyz -b- -a -a-
Альтернативно, если у меня есть:
-a -123 -a- -b -xyz -b- -a -xyz -a-"
Я хочу:
-a -123 -a- -a -xyz -a- -b -xyz -b- -a -a-
Это второй случай, на котором я застрял.
Как мне наиболее эффективно сделать это в Perl?