|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Vyacheslav Ignatyuk 2:5020/400 03 Nov 2000 18:55:47 To : All Subject : Re: никак не получается... -------------------------------------------------------------------------------- "Alexander Bolotnov" <Alexander.Bolotnov@p82.f4.n5052.z2.fidonet.org> wrote in message news:973265690@p82.f4.n5052.z2.ftn... > All, > > что-то никак не придумается написать простой способ вот для чего: > > open FD, < pwds or die $!; > while <FD>{ > ($e,$r) = $_ =~/.+::(.+)::.+::(.+{6})::/; Вот не помню точно приоритеты операций, но похоже что делается ($e,$r) = ($_ =~/.+::(.+)::.+::(.+{6})::/); И $r как бы всегда undef, а в $e - false/true. А что это вообще должно делать? Проверка на непустость поля? Регулярное выражение - вещь классная, но иногда лучше обрабатывать отдельные поля отдельно. my %fields = (); my @fields = qw (login password gecos); а в цикле: chomp; # это к прочитанной строчке относится @fields{@fields} = (split(/:/))[0,1,5] Что-то типа. > if (проверяем пароли и все такое){ > &CREATE; > last; #?? > } > else{ > print "error"; > } > } > close FD; > > но ведь уродство такое, он "error" раз 10 напечатает, пока до нужной строки > дойдет, я там всяко извращялся, вроде работает, но все такие кривые решения... > может есть какое-то простое? А какая строка нужная? Телепатия? И решение чего надо? ;-)) Ты ведь самый главный критерий печати ошибки и опустил. Там же вся логика. > > [NewNet] Alexander Bolotnov. Vyacheslav Ignatyuk -- Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: Talk.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/648836abd7e3.html, оценка из 5, голосов 10
|