Показать сообщение отдельно

  #10  
Старый 04.06.2008, 17:13
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
С нами: 10172441

Репутация: 495
По умолчанию

Мой вариант
Код:
#!/usr/bin/perl -w
use strict;

open my $h,'<','log.txt' or die $!;
{
    local $/;
    my $s = { map { m[([a-z0-9_-]+\@[a-z.]+)\s*(?:pass=|)(?!uid:|http:|name:)(.+)]gi } <$h> };
    close $h;   
    print map{ "$_:$$s{$_}\n" } sort keys %$s ;
}
Код:
$ cat log.txt
              email=mail1@gmail.com
              pass=pass1
              ...

UID:...
Name: http://vkontakte.ru/index.php
Values: 
mail2@gmail.com
pass2

UID:...
Name: http://vkontakte.ru/
Values: 
mail3@gmail.com
Код:
$ perl p.pl
mail1@gmail.com:pass1
mail2@gmail.com:pass2
mail3@gmail.com:
Возможно есть интересней вариант регулярного выражения ,хотелось бы увидеть
 
Ответить с цитированием