Допустим, у вас есть набор файлов, содержащих строки, такие как:
{yellow_forest_ant|monsters_insects:2|Yellow forest ant|forestant||5|||10|100|||2|2|15||insect|||||||||};
{small_rabid_dog|monsters_dogs:1|Small rabid dog|forestdog||6|||10|90|||2|2|||canine|||||||||};
И вы хотите вставить три поля между 5-м и 6-м полями, где часть нового содержимого зависит от того, какие поля существуют.
Как бы вы сделали это автоматически?
Вставка динамического содержимого в строки существующего текстового файла.
Мое решение (в Perl):
while(<>) {
if (/\{(.+?)\};/) {
my @v= $1 =~ /([^\|\{\}]*?|\{\{.*?\}\})\|/g;
my @output= (@v[0..4], guessMonsterClass($v[1]), $uniques{$v[0]}, '',@v[5..24]);
print '{'.join('|',@output)."|};\n";
} else { print; }
}
Хотя мое решение работает, оно работает не очень хорошо.
Улучшения, пожалуйста!