Я знаю, что есть несколько примеров для усечения в Perl, однако для этой цели кода я не нашел решения для усечения текстового файла с 3 столбцами.
Моя цель - использовать PERL для усечения3 столбца в текстовом файле до 4 символов только при чтении и записи в текстовый файл.
Мой текстовый файл INPUT - input.txt: [Столбцы с номерами 1,2,3 и только для справки]
1 2 3
Rain 65.22 London
Snow 34.44 United States
Cloudy 23.00 Germany
Текстовый файл не разделен табуляцией, а содержит только пробелы.
Мой файл вывода OUTPUT - output.txt:
1 2 3
Rain 65.2 Lond
Snow 34.4 Unit
Clou 23.0 Germ
Вместо моего output.txt отображается:
Rain Snow Cloudy
Вот мой код:
#!/usr/bin/perl
use strict;
use warnings;
my $input = 'input.txt';
#open file for reading
open my $fhIn, '<', $input or die qq(Unable to open "$input" for input: $!);
#open file for writing
my $output = 'output.txt';
open my $fhOut, '>', $output or die "Can't create output.\n";
while( <$fhIn>) {
(s/.{4}\K.*//s);
print $fhOut $_;
}