У меня есть файл с именем a.gz, который представляет собой файл, сжатый с помощью gzip, который содержит следующие строки при распаковке:
a
b
Ниже приведены два блока кода Perl, которые, как мне кажется, «должны» давать одинаковые результаты, но это не так.
Код №1:
use Data::Dumper;
my $s = {
status => 'ok',
msg => `zcat a.gz`
};
print Dumper($s),"\n";
Код № 2:
use Data::Dumper;
my $content = `zcat a.gz`;
my $s = {
status => 'ok',
msg => $content
};
print Dumper($s), "\n";
Код №1 дает следующий результат:
Odd number of elements in anonymous hash at ./x.pl line 8.
$VAR1 = {
'msg' => 'a
',
'b
' => undef,
'status' => 'ok'
};
Код № 2 возвращает следующий результат:
$VAR1 = {
'msg' => 'a
b
',
'status' => 'ok'
};
Я использую perl 5.10.1, работающий в Linux.