pbezpal » 26 сен 2013, 14:00
Написал скрипт, который парсит файл xml, находит поля с числовыми значениями и увеличивает значение на единицу, записывает в новый файл
Код: Выделить всё
while ($i < $count)
{
if ($str[$i] =~ /$fields_int[$l]/g)
{
$str[$i] =~ /<$fields_int[$l]>(.*?)<\/$fields_int[$l]>/;
my $max = $1 + 1;
$str[$i] =~ s/$1/$max/;
print $fout $str[$i];
$i++;
}
print $fout $str[$i];
$i++;
}
Код отрабатывает нормально, но в строчке
<R100_reliable>1</R100_reliable>
Не увеличивает 1 между тегами, а вот что получается
<R200_reliable>1</R100_reliable>
Не могу понять почему?
Написал скрипт, который парсит файл xml, находит поля с числовыми значениями и увеличивает значение на единицу, записывает в новый файл
[code]while ($i < $count)
{
if ($str[$i] =~ /$fields_int[$l]/g)
{
$str[$i] =~ /<$fields_int[$l]>(.*?)<\/$fields_int[$l]>/;
my $max = $1 + 1;
$str[$i] =~ s/$1/$max/;
print $fout $str[$i];
$i++;
}
print $fout $str[$i];
$i++;
}[/code]
Код отрабатывает нормально, но в строчке
<R100_reliable>1</R100_reliable>
Не увеличивает 1 между тегами, а вот что получается
<R200_reliable>1</R100_reliable>
Не могу понять почему?