Помогите с парсером [Perl]

Discussion in 'PHP' started by $p01nt, 16 Feb 2009.

  1. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    Ребят как реализовать парсинг логов вида:

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

    demond Member

    Joined:
    5 Nov 2008
    Messages:
    101
    Likes Received:
    22
    Reputations:
    5
    Читаешь из файла построчно. каждую строчку проверяешь на регуляное выражение /^Password=(.*)$/ и /^Login=(.*)$/
    Code:
    @tests = ("asdfasfd","asdfasdf","Password=sdfa111sdf","Login=sdfasdf");
    foreach(@tests)
    {
       $res=$1 if ($_=~/^Password=(.*)$/);
    }
        print $res;
    
    Только место @tests массив со строками файла.
    Если надо больше конкретики, давай код, поможем его поравить. :) Хотя куда уж больше!
     
    #2 demond, 16 Feb 2009
    Last edited: 16 Feb 2009
  3. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    Code:
    $/ = undef;
    open F, "<", "log.txt" || die $!;
    $data = <F>;
    close F;
    
    while($data =~ /Login=(.{1,30})\nPassword=(.{1,30})\n/g)
    {
    print $1.":".$2."\n";
    }
    
     
    _________________________