Я пытаюсь прочитать данные из файла с помощью файлового ввода-вывода в perl. Я хочу найти целое число, сравнить его и добавить в строку целое число. Мой файл состоит из такой строки.
файл mfile.txt start_value 0 end_value 13000 ошибок 30
Я хочу сравнить end_value и хочу добавить 500 или 2000 после это end_value.
файл mfile.txt start_value 0 end_value 13000 2000 ошибок 30
Это редактирование должно выполняться в том же файле. Мой код выглядит следующим образом.
print "Enter file ";
$file= <STDIN>;
chomp ($file);
open ( DATA, "+<$file") || die "No file";
while(<DATA>) {
print "$_\n";
@line = split / /, $_;
print "$line[5]";
$epat = $line[5];
if ($epat > 10000) {
$line[6] = "2000 errors";
}
else {
$line[6] = "500 errors";
}
$_ = join (" ", @line);
print "$_";
print "\n";
}
close DATA
Я попытался преобразовать $ _ в массив и найти end_value, вызвав его индекс и сравнив его. Все работало нормально, но как записать это новое изменение в ту же строку того же файла? После этого файл не изменяется. Как это сделать?