Ich habe eine Datei mit dem Namen a.gz die eine gzip-Datei, die die folgenden Zeilen enthält, wenn dekomprimiert:Perl in Backticks Hashreferenz geben unterschiedliche Ergebnisse
a
b
Unten sind zwei Blöcke von Perl-Code, die ich denke " sollte "die gleichen Ergebnisse geben, aber sie nicht.
Code # 1:
use Data::Dumper;
my $s = {
status => 'ok',
msg => `zcat a.gz`
};
print Dumper($s),"\n";
Code # 2:
use Data::Dumper;
my $content = `zcat a.gz`;
my $s = {
status => 'ok',
msg => $content
};
print Dumper($s), "\n";
Code # 1 ergibt folgendes Ergebnis:
Odd number of elements in anonymous hash at ./x.pl line 8.
$VAR1 = {
'msg' => 'a
',
'b
' => undef,
'status' => 'ok'
};
Code # 2 liefert das folgende Ergebnis:
$VAR1 = {
'msg' => 'a
b
',
'status' => 'ok'
};
ich Perl 5.10.1 läuft in Linux
Danke. Ich war mir nicht bewusst, dass die Schlüssel/Wert-Zuweisung in '{....}' Array-Kontext ist. Ich dachte, dass Werte immer skalar sind. Danke, dass du darauf hingewiesen hast. –