Я вошел в курс Perl, и нам поручено взять файл input.txt (из адреса Gettysburg - который имеет все экземпляры слова «старый», измененный на «новый») и создание файла output.txt, который переключает «новый» обратно на «старый». У меня есть общее регулярное выражение, которое переключает все экземпляры «нового» на «старый», но оно должно работать независимо от случая во входном файле. Мне интересно, как я могу добавить это? Кроме того, я хочу проверить, правильно ли я смонтирован файл output.txt? Когда я запускаю то, что у меня есть, у меня нет файла output.txt, созданного в моем каталоге. Вот что у меня есть до сих пор:Regex и создание выходного файла (Perl beginner)
open(my $getty, "<", "input.txt")
or die "Cannot open < input.txt: $!";
open(my $getty, ">", "output.txt")
or die "Cannot open < output.txt: $!";
while(my $line = <$getty>) {
if ($line =~ 's/new/old/') {
$line =~ s/new/old/;
}
}
Всегда 'use strict;' ... вы пытаетесь дважды использовать дескриптор '$ getty' (один для чтения и один для записи). «Использовать строгое», предупредил бы вас. – dgw
Я добавлю 'use strict;'. Поэтому мне нужно создать новый Filehandle для моего открытого вывода - (понял). Как я могу написать все из моего файла input.txt в мой файл output.txt с переходом от «нового» к «старому»? Кроме того, я хочу предположить, что output.txt не существует во время выполнения кода. – Hayest