Текстовая строка проверки Perl - PullRequest
0 голосов
/ 05 февраля 2012

У меня есть Perl-код, который должен читать текстовый файл, содержащий отдельные строки.

Например:

blah-blah-blah yakkity-yak gobbledy_gook

doohickey thingamabob watchamacallit

one two three

Иногда в этом файле может быть несколько строк, иногда в одной строке, но каждая строка будет содержать фиксированное количество слов, каждое из которых будет разделено пробелом.

В основном то, что у меня сейчас есть:

my @info = split (" ", $line);

Затем скалярная проверка на @info и, если это НЕ точно три - выход.

Существует ли более быстрый и, возможно, более элегантный способ? Thnx.

Родерик

Ответы [ 2 ]

1 голос
/ 05 февраля 2012

Преобразование в число выполняется автоматически, если сравнить массив с числом:

die "Not enough (or too much) information\n" unless @info == 3;
0 голосов
/ 05 февраля 2012

Этот лайнер печатает все строки с количеством слов, не равным 3

perl -lane 'print if $#F!=2' FILE_NAME
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...