Я пытаюсь отредактировать несколько строк моего файла и создать новый файл со всеми изменениями
Мои строки не в формате абзаца, это выглядит примерно так ниже
R1 X XA 0i 1i H 0i
R2 X XA 1i 1i H 0i
R3 X XA 1i 1i H 0i
R4 X XA 1i 1i H 0i
R5 X XA 1i 1i H 0i
R6 X XA 0i 0i X 0i
У них явно нет одинакового расстояния между каждым элементом в строке, но они выровнены по столбцу.
Я палочка для редактирования R3 3-й элемент из XA в XAHBB
но не в состоянии поддерживать выравнивание столбцов
my $cur_line_num = 1;
while(<Sourcefile>){
my @RowEdit = split (" ",$_);
if($RowEdit[0]=~ m/^R3$/s){
$RowEdit[2]="RowEdit[2]HBB"
}
my $curr_line = join(" ", @RowEdit)
print $newfile "curr_line\n";
$cur_line_num++;
}
print "$cur_line_num\n";
Мой текущий выходной сигнал показан ниже
R1 X XA 0i 1i H 0i
R2 X XA 1i 1i H 0i
R3 X XAHBB 1i 1i H 0i
R4 X XA 1i 1i H 0i
R5 X XA 1i 1i H 0i
R6 X XA 0i 0i X 0i
Где мой ожидаемый результат должен выглядеть примерно так ниже
R1 X XA 0i 1i H 0i
R2 X XA 1i 1i H 0i
R3 X XAHBB 1i 1i H 0i
R4 X XA 1i 1i H 0i
R5 X XA 1i 1i H 0i
R6 X XA 0i 0i X 0i
Как сохранить выравнивание столбцов при редактировании файла?