Команда Perl Range не соответствует одинаковым строкам с одним окончанием возврата каретки - PullRequest
0 голосов
/ 16 февраля 2019

Команда диапазона в Perl

RANGE
/^        identifier                              cust_pri/ .. /addr-type-none/

совпадает со строками с cust_pri и cust_pri_sip, где возврат каретки идет сразу после строки cust_pricust_pri_sip).Я не хочу совпадения на cust_pri_sip, но только на cust_pri.

Я пытался вставить \r\n и оба по отдельности безрезультатно.Есть ли строка или метачар, которые я могу поместить в конец диапазона perl, чтобы помочь дифференцировать эти две строки?

Мне нужно посмотреть на данные для обоих типов интерфейсов, но по первой команде диапазона он также собираетданные, которые собирает и вторая команда диапазона (cust_pri_sip), вызывают ошибку моего первого скрипта.Вторые работы найди.Я не могу изменить входные данные, и мне нужен способ их различить.

Это подскрипт основной программы Perl

WIDTH = 65

DIRECTORY = /home/myfiles/

MASTER Config Lines

        identifier                              cust_pri
        description                             *
        addr prefix                             0.0.0.0
        network interfaces                      M00|1:\d*
        tcp media profile
        monitoring filters
        node functionality
        default location string
        alt family realm
        addr-type-none


RANGE
/^        identifier                              cust_pri/ .. /addr-type-none/
#

Есть еще один субскрипт, который похож навыше

RANGE
/^        identifier                              cust_pri_sip/ .. /addr-type-none/

Первый скрипт также собирает данные обоих скриптов, потому что он совпадает.

1 Ответ

0 голосов
/ 16 февраля 2019

Вы можете явно исключить _sip с помощью /^ identifier cust_pri(?!_sip)/ или вы можете сказать, что cust_pri должен находиться в конце строки, и после него ничего не стоит с /^ identifier cust_pri$/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...