Как я могу сделать условную замену в Perl?

Не говоря уже о том, если это в часто-вызываемом-методе, это может влиять на полное поведение приложения.
, Например, я рассматриваю использование Int32. Синтаксический анализ как плохая практика в большинстве случаев, так как это выдает исключения для чего-то, что может быть поймано легко иначе.

Так для завершения всего записанного здесь:
1) попытка Использования.. блоки выгоды для фиксации неожиданных ошибок - почти никакая потеря производительности.
2) не используют исключения для исключенных ошибок, если можно избежать его.

5
задан brian d foy 8 November 2009 в 19:28
поделиться

2 ответа

Добавьте оператор if :

perl -p -e 's/regex/replacement/g if /^\s*return/;' fileName.cpp

В качестве альтернативы вы можете использовать, что строка, которую вы передаете в perl -p, является телом цикла:

perl -p -e 'next unless /^\s*return/; s/add/replacement/g;' filename.cpp
8
ответ дан 14 December 2019 в 04:41
поделиться

Вы можете просто поместить что-то в соответствие -> в свое регулярное выражение, чтобы оно не соответствовало определению функции. Еще лучше было бы написать сценарий, который анализирует строку за строкой и отклоняет строки без -> даже до выполнения замены.

0
ответ дан 14 December 2019 в 04:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: