获取参考。预期内容

发布于 2024-10-17 04:52:50 字数 450 浏览 4 评论 0原文

我有这个脚本

#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
use YAML::Syck;

my $x = {'x' => [1,2,3],
     'y' => {'z' => 8},
     'q' => 'abc',
};

my $yaml = YAML::Syck::Load($x);
print "\n" . $yaml . "\n\n\n";

my $h = YAML::Syck::Dump($yaml);
print Dumper $h;

,它输出

HASH(0x7539cb0)


$VAR1 = '--- HASH(0x7539cb0)
';

我期望看到 $x 内容的结构。那里出了什么问题?

I have this script

#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
use YAML::Syck;

my $x = {'x' => [1,2,3],
     'y' => {'z' => 8},
     'q' => 'abc',
};

my $yaml = YAML::Syck::Load($x);
print "\n" . $yaml . "\n\n\n";

my $h = YAML::Syck::Dump($yaml);
print Dumper $h;

which outputs

HASH(0x7539cb0)


$VAR1 = '--- HASH(0x7539cb0)
';

I'd expected to see the structure of $x which content. What's wrong there?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

听你说爱我 2024-10-24 04:52:50

您应该使用 Dump 将 Perl 数据结构转储到 YAML 中,并使用 Load 执行相反的操作。
尝试:

my $yaml = YAML::Syck::Dump($x);
print "\n" . $yaml . "\n\n\n";

my $h = YAML::Syck::Load($yaml);
print Dumper $h;

You should use Dump to dump a Perl data structure into YAML and Load to do the opposite.
Try:

my $yaml = YAML::Syck::Dump($x);
print "\n" . $yaml . "\n\n\n";

my $h = YAML::Syck::Load($yaml);
print Dumper $h;
独夜无伴 2024-10-24 04:52:50

您将 Load() 和 Dump() 颠倒了; Load 采用 YAML 并生成 perl 数据结构; Dump 采用 perl 数据结构并生成 YAML。

You have Load() and Dump() reversed; Load takes YAML and produces a perl datastructure; Dump takes a perl datastructure and produces YAML.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文