|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Oleg Kuznetsov 2:5011/139 15 Apr 2003 16:23:14 To : Andrew Alakozow Subject : подскажите -------------------------------------------------------------------------------- 14 апр 03 16:15, you wrote to me: OK>> while ( <LST> ) { OK>> if (/^point,(\d+)/i){ OK>> %lst = $1; OK>> if (exists $lst{$msg{num}}){ OK>> print "found\n"; OK>> } OK>> else OK>> { OK>> print "not found\n"; OK>> } OK>> } OK>> } OK>> close(LST); AA> 1. В программах на Perl крайне желательно использовать use strict; добавил AA> 2. Сначала нужно загрузить хэш, а потом проверять наличие в нем ключа; AA> 3. После %lst = $1, в %lst оказывается хэш ($1 => undef), тебе нужно AA> добавлять элементы: $lst{$1}=1; у меня не фиксированный хеш вобщем я не разобрался с поиском по хешу,но сделал так open(LST,"< $cfg{lst}") or die "can't open $cfg{lst}"; while ( <LST> ) { my @pnt=grep(/^point,$msg{num},/i,$_); foreach (@pnt) { if (@pnt) { print "found\n"; } else { print "not found\n"; } } } close(LST); мож и не правильно, но зато работает :) кто подскажет боле правильный вариант Oleg ... Xmms play: No Doubt - New --- GoldED+/BSD 1.1.5 (FreeBSD 4.8-STABLE i386) ! * Origin: 16:23 up 19:01, 6 users, load averages: 0,05 0,11 0,28 (2:5011/139) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/22953e9bdea8.html, оценка из 5, голосов 10
|