Программирование > Perl

Чтение строк из файла с условием

(1/1)

Error202:
Есть файл:
==== cut ====
1111|Иванов С.А.|Инженер
1112|Сидоров С.А.|Инженер
1113|Петров Е.Е.|Инженер
1141|Гришин К.Е.|Технолог
1151|Сергеев С.В.|Инженер
1152|Швыдкин Р.А.|Технолог
1161|Гаврилин В.С.|Инженер
1162|Худаков С.И.|Инженер
1163|Смирнов В.В.|Печатник
==== cut ====

Как я могу из такого файла быстро вытащить все записи,
первая часть которых более 1150 и менее 1162?

Или только перебором каждой строки типа:

foreach (<FILE>)
{
 @tmp=split(/\\|/, $_);
 if (($tmp[0]>=1150)and($tmp[0]<=1162))
  {
    Запись прошла
  };
}

arto:
grep { $a = (split "\\\\|")[0]-1150; $a > 0 && $a < 12 }

Yaroslav:
если использовать кавычки, то будет быстее
@tmp=split("|");

arto:
у вас неверное выражение

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии