Удаление символа новой строки из строки в Perl

У меня есть строка, которая читается из текстового файла, но в Ubuntu Linux, и я пытаюсь удалить ее символ новой строки с конца.

Использовал все способы.Но для s/\n|\r/-/(смотрю находит ли заменяет любую новую строку строку) заменяет строку,но он все еще переходит на следующую строку, когда я печатаю его. Более того, когда я использовал chompили Chomp, строка полностью удаляется. Я не мог найти другого решения. Как я могу решить эту проблему?

use strict;
use warnings;
use v5.12;
use utf8;
use encoding "utf-8";

open(MYINPUTFILE, "<:encoding(UTF-8)", "file.txt");

my @strings;
my @fileNames;
my @erroredFileNames;

my $delimiter;
my $extensions;
my $id;
my $surname;
my $name;

while (<MYINPUTFILE>)
{
    my ($line) = $_;
    my ($line2) = $_;
    if ($line !~ /^(((\X|[^\W_ ])+)(.docx)(\n|\r))/g) {
        #chop($line2);
        $line2 =~ s/^\n+//;
        print $line2 . " WRONG FORMAT!\n";
    }
    else {
        #print "INSERTED:".$13."\n";
        my($id) = $13;
        my($name) = $2;
        print $name . "\t" . $id . "\n";
        unshift(@fileNames, $line2);
        unshift(@strings, $line2 =~ /[^\W_]+/g);
    }
}
close(MYINPUTFILE);
6
задан Peter Mortensen 25 November 2015 в 15:36
поделиться