Цитата:
Сообщение от rage
эхх поколение пехепистов
#!/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 И работать будет явно побыстрее...
|
$data = explode("\n", file_get_contents('npc.xml'));
foreach ($data as $row)
{
if (preg_match('/npc id\="(\d+)"/', $row, $match))
$npcId = (int)$match[1];
else if (preg_match('/group chance="(.+?)"/', $row, $match))
$groupChance = $match[1];
else if (preg_match('/\<reward\s+item_id="(\d+)" min="(\d+)" max="(\d+)" chance="(.+?)".+?\<\!--(.+?)--\>/', $row, $match))
echo $npcId . "\t" . $match[1] . "\t" . $match[2] . '-' . $match[3] . "\t" . $match[4] . "\t" . $match[5] . "\n";
}
Code: PHP
Работать будет никак не медленнее Perl'а. Это не поколение пехепистов, а тех, кто не умеет быстро решать поставленные задачи