Показать сообщение отдельно
Непрочитано 05.05.2012, 13:17   #16
Аватар для rage
Герой

По умолчанию Re: Парсер xml'ки

эхх поколение пехепистов
 
 
#!/usr/bin/perl
use strict;
 
my($npcId, $gchance);
open(FH,"<npc.xml") or die "$!\n";
while(<FH>)
{
  my $str = $_;
  if($str =~/npc id="(\d+)"/)
  {
    $npcId = $1;
  }
  elsif($str =~/group chance="(.+?)"/)
  {
    $gchance = $1;
  }
  elsif($str =~/\<reward\s+item_id="(\d+)" min="(\d+)" max="(\d+)" chance="(.+?)".+?\<\!--(.+?)--\>/)
  {
    print "$npcId\t$5 $2-$3 [$gchance * 100 / $4]\n";
  }
}
close(FH);
 
Code: Perl
И работать будет явно побыстрее...
rage вне форума Ответить с цитированием