PDA

Просмотр полной версии : Помогите с парсером [Perl]


$p01nt
16.02.2009, 14:08
Ребят как реализовать парсинг логов вида:


COUNTRY: RU
Немного левого текста
Login=stopped
Password=666666

COUNTRY: EN
Немного левого текста
Login=dxgfhd
Password=5455555

Нужно вытащить логин и пароль, регулярку я знаю Login=(.*);
и Password=(.*)
а как обработать хз...

demond
16.02.2009, 14:17
Читаешь из файла построчно. каждую строчку проверяешь на регуляное выражение /^Password=(.*)$/ и /^Login=(.*)$/

@tests = ("asdfasfd","asdfasdf","Password=sdfa111sdf","Login=sdfasdf");
foreach(@tests)
{
$res=$1 if ($_=~/^Password=(.*)$/);
}
print $res;

Только место @tests массив со строками файла.
Если надо больше конкретики, давай код, поможем его поравить. :-) Хотя куда уж больше!

Kaimi
16.02.2009, 15:23
$/ = undef;
open F, "<", "log.txt" || die $!;
$data = <F>;
close F;

while($data =~ /Login=(.{1,30})\nPassword=(.{1,30})\n/g)
{
print $1.":".$2."\n";
}