Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Michael B. Babakov                   2:5020/400     23 Dec 2000  20:50:22
 To : All
 Subject : Re: Переделка %20%3F   в удобочитаемое...
 -------------------------------------------------------------------------------- 
 
 Denis Shaposhnikov wrote:
 
 > 
 > >>>>> "Pavel" == Pavel Kurnosoff
 > >>>>> <Pavel_Kurnosoff@p25.f736.n5030.z2.fidonet.org> writes:
 > 
 >  PK> пока выкрутился кэшированием этого дела на диск, а потом print
 >  PK> while <F>;
 >  PK> - всяко быстрее лишнего xslt прохода или даже eval'а (данные не
 >  PK> меняются).
 >  v> sysread-ом его, sysread-ом.
 >  Pavel> о, thanx. забыл-с... буфер-то мне тут ведь не нужен.
 > 
 > А в чем разница с <>? Ведь не по одному же байту ты будешь sysread'ом
 > читать? Значит все равно буфер для чтения будешь заводить. Так какая
 > разница, кто это сделает, ты или stdio?
 > 
 > 2 All: Есть какие нибудь противопоказания использованию <> для
 > бесконечного, построчного чтения файла? Что нибудь вроде:
 > 
 >   for (;;) {
 >     while (<F>) {
 >       ...
 >     }
 >     sleep 1;
 >   }
 
 Похоже ни какого. См. пример из "Perl Cookbook" с моими правками, чтоб
 под FreeBSD заработало:
 
 === cut ===
 #!/usr/bin/perl
 
 # см. utmp(5)
 
 use IO::File;
 
 $typedef = 'A8 A16 A16 l';
 
 # $line, $user, $host, $time
 
 $sizeof = length pack($typedef, () );
 
 open (WTMP, "/var/log/wtmp") || die "Can't open /var/log/wtmp: $!\n";
 seek(WTMP, 0, SEEK_END);
 for(;;) {
   while ( read(WTMP, $buffer, $sizeof) == $sizeof ) {
    ($line, $user, $host, $time) = unpack($typedef, $buffer);
 #     next unless $user && ord($user) && $time;
    next unless $time;
    
 #     printf "'%s' '%s' '%s' '%s'\n",
    printf "%-8s %-16s %-16s %-14s\n",
    $line, $user, $host, scalar(localtime($time));
    
   };
   for ($size = -s WTMP; $size == -s WTMP; sleep 3) {};
   WTMP->clearerr();
 };
 === cut ===
 
 -- 
 С уважением,
  Михаил Бабаков
 
 - ---
 e-mail: M.Babakov@sochi.net.ru
 http://sochi.net.ru/~mike
 --- ifmail v.2.15dev5
  * Origin: I'ts my home! :) (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Переделка %20%3F в удобочитаемое...   Michael B. Babakov   23 Dec 2000 20:50:22 
 Переделка %20%3F в удобочитаемое...   Sergey Averichev   24 Dec 2000 02:14:33 
 Re: Переделка %20%3F в удобочитаемое...   Michael B. Babakov   24 Dec 2000 11:15:40 
 Переделка %20%3F в удобочитаемое...   Sergey Averichev   25 Dec 2000 00:22:34 
 Re: Переделка %20%3F в удобочитаемое...   Michael B. Babakov   25 Dec 2000 11:27:35 
Архивное /ru.perl/64071537828c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional