#!/usr/bin/env perl
use Modern::Perl;
use autodie;
use Data::Dump 'pp';
open my $file, "<", "input.txt";
{
local $/ = "--\n";
say pp <$file>;
}
close $file;
И вывод:
(
"--\n",
"read50_1: read1391364_2,read3529226_1,\n--\n",
"read46_2: read916_1,read178252_2,read1336397_1,read1824459_2,\nread916_1: read0_1\n--\n",
"read34_1: read209771_2,\n--\n",
"read32_2: read520377_2,\n",
)
Другими словами, чтение не снимает разделитель входной записи.Возможно, вы захотите что-то вроде этого:
open my $file, "<", "input.txt";
{
local $/ = "--\n";
for (<$file>) {
chomp;
s/\n//g;
say "<$_>";
}
}
close $file;
Что дает:
<>
<read50_1: read1391364_2,read3529226_1,>
<read46_2: read916_1,read178252_2,read1336397_1,read1824459_2,read916_1: read0_1>
<read34_1: read209771_2,>
<read32_2: read520377_2,>
В качестве примечания, вы должны использовать открывание с тремя арками и вас может заинтересовать autodie , чтобы вам не пришлось писать шаблон or die
.