LINUX.ORG.RU

История изменений

Исправление outtaspace, (текущая версия) :

Мой вариант:

open my $fh, '+>>', 'apple.txt';
while (my $line = <$fh>) {
    $line =~ s{is}{at};
    print {$fh} $line;
}
close $fh;

«close» надо вынести из блока while, ему там не место. Чтобы прервать выполнение while, надо использовать функции last/next (https://perldoc.perl.org/functions/last.html).

И еще модификатор доступа поменять: «You can put a + in front of the > or < to indicate that you want both read and write access to the file».

И видимо надо запоминать позицию которую прочитали из файла. Просто check and set не сработает.

Исходная версия outtaspace, :

Мой вариант:

open my $fh, '>>', 'apple.txt';
while (my $line = <$fh>) {
    $line =~ s{is}{at};
    print {$fh} $line;
}
close $fh;

«close» надо вынести из блока while, ему там не место. Чтобы прервать выполнение while, надо использовать функции last/next (https://perldoc.perl.org/functions/last.html).