Я написал супер простой скрипт:
#!/usr/bin/perl -w
use strict;
open (F, "<ids.txt") || die "fail: $!\n";
my @ids = <F>;
foreach my $string (@ids) {
chomp($string);
print "$string\n";
}
close F;
Это производит ожидаемый вывод всего содержимого ids.txt:
привет
мир
это
раздражает
* 1014 исходный код *
линия
Теперь я хочу добавить расширение файла: .txt для каждой строки. Эта строка должна помочь:
#!/usr/bin/perl -w
use strict;
open (F, "<ids.txt") || die "fail: $!\n";
my @ids = <F>;
foreach my $string (@ids) {
chomp($string);
$string .= ".txt";
print "$string\n";
}
close F;
Но результат таков:
.txto
.txtd
.txte
.txtying
.txtcecode
Вместо добавления «.txt» к моим строкам первые 4 буквы моей строки будут заменены на «.txt». Поскольку я хочу проверить, существуют ли некоторые файлы, мне нужно полное имя файла с расширением.
Я пытался расколоть, сжать, заменить (s / \ n //), объединить и все что угодно. Но результат все равно замена вместо добавления.
Где ошибка?