Perl - получение значения сразу после того, как ключевое слово найдено - PullRequest
0 голосов
/ 03 января 2019

Я хотел бы получить синтаксис сценария, который выполняет следующее: Возьмите приведенный ниже вывод, который определен для переменной с именем @ pc

Active connections: 47
server accepts handled requests
 101 101 2434
Reading: 0 Writing: 5 Waiting: 42

Я хочу проанализировать этот вывод, чтобы получить только значениесвязано с «Активными подключениями»

В этом случае ожидаемое возвращаемое значение будет только 47.

1 Ответ

0 голосов
/ 03 января 2019

Используйте этот фрагмент кода:

my ($connections) = $str =~ /Active connections:\s*(\d+).*/;

Переменная $connections будет содержать ваш ответ.

Вы также можете извлекать более 1 переменной одновременно, например:

my ($connections, $reading, $writing) = $str =~ /Active connections:\s*(\d+).*Reading:\s*(\d+).*Writing:\s*(\d+).*/s;

В этом случае переменные $connections, $reading, $writing будут извлечены сразу.

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

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