|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Igor Nikolaev 2:5030/266 09 Jul 2001 14:49:13 To : "Alexei Vi. Baikalov" Subject : Re: Вытаскивание даты. Hарод подскажите! -------------------------------------------------------------------------------- Alexei Vi. Baikalov <madman@mail.enisey.ru> wrote: > Есть /var/mail/user файл! Hужно выташить письма! Делаю примерно > следующее! Тебе письма надо вытащить или таки даты распечатать? Сформулируй сначала задачу. Вполне возможно что просто ничего делать не надо и есть готовое решение. > #!/usr/bin/perl > print "Content-type: text/html\n\n"; > open (FILE,"</var/mail/nobody") || die "$!"; > @strings = <FILE>; И машина уходит в глубокий беспросветный swap через некоторое время торжественно отбрасывая корку по причине нехватки пямяти. > close FILE; > $i = -1; Это что за мистическое чудо? > for $string (@strings) { > ++$i if ($string =~ > /^From\s[\w,\-,\.]+\@[\w,\-,\.]+\.\w{2,3}\s[A-Z][a-z]{2}\s{2}\d{1,2}\s\d{2}:\d > {2}:\d{2}\s\d{4}$/); Жуть. Что собственно хотелось проверить? '\nFrom ' однозначно определяют начало письма. > $mail[$i] .= $string; push @mail, $string; > } > for $mail (@mail) { > $maildate = $mail; > $maildate =~ > /[A-Z][a-z]{2}\s{2}\d{1,2}\s\d{2}:\d{2}:\d{2}\s\d{4}/m; У меня такое подощрение, что эта проверка ничего не делает :-) > print "<hr width=500 />$maildate<hr width=500 />"; > print "<br />\n<hr />\n<br />\n"; > $mail =~ s/\n/\n<br \/>\n/g; > print $mail; > } > И вместо даты мне вываливается почти полная переменная $mail; Кто мне > объяснит в чем дело??? Дык ты сам сначала объясни чего именно ты хочешь. Если просто напечатать даты - то достаточно сказать perl -ane 'print "$F[6]-$F[3]-$F[4]\n" if $F[0] eq "From"' < /var/mail/nobody безо всяких страшилок на ночь :-) -- Игорь Hиколаев --- ifmail v.2.12.os.sensi * Origin: /kernel: last message repeated 2 times (2:5030/266@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/134164c896fd4.html, оценка из 5, голосов 10
|