Perl 如何在一个哈希引用另一个哈希的情况下打印哈希的哈希

Perl 如何在一个哈希引用另一个哈希的情况下打印哈希的哈希,perl,Perl,我试图用perl学习复杂的数据结构,为此我编写了一段代码,但没有得到任何输出: #!/usr/bin/perl use strict; use warnings; my %abc=(Education => "BE",Marital_Status => "Single", Age => "28", Working_Exp => "4yrs"); my %cde=(Education => "BE",Marital_Status => "Single", A

我试图用perl学习复杂的数据结构,为此我编写了一段代码,但没有得到任何输出:

#!/usr/bin/perl 
use strict;
use warnings;

my %abc=(Education => "BE",Marital_Status => "Single", Age => "28", Working_Exp => "4yrs");
my %cde=(Education => "BE",Marital_Status => "Single", Age => "29", Working_Exp => "5yrs");


my %info =(info_one => "\%abc", info_two => "\%cde");

foreach my $val (keys %info)
{
  foreach my $check ( keys %{$info{val}})
  {
    print ${$info{val}}{check}."\n";
  }
}

对于学习Perl中的复杂数据结构,没有比

info\u one
info\u two的赋值是
字符串,因此您希望从
\%abc
\%cde
中删除双引号。另外,您需要将
$
标量符号添加到
val
检查
的最后一行
打印
,因为这些都是变量

#!/usr/bin/perl 
use strict;
use warnings;

my %abc= (
    Education => "BE",
    Marital_Status => "Single", 
    Age => "28", 
    Working_Exp => "4yrs"
);
my %cde= (
    Education => "BE",
    Marital_Status => "Single", 
    Age => "29", 
    Working_Exp => "5yrs"
);


my %info = (
   info_one => \%abc,
   info_two => \%cde
);

foreach my $val (keys %info) {
    foreach my $check ( keys %{$info{$val}} ) {
        print ${$info{$val}}{$check}."\n";
    }
}

最后一行有点难看,但当您阅读数据结构烹饪书时,您将学习使用
->
运算符,并更优雅地编写语句。

要学习Perl中的复杂数据结构,没有比

info\u one
info\u two的赋值是
字符串,因此您希望从
\%abc
\%cde
中删除双引号。另外,您需要将
$
标量符号添加到
val
检查
的最后一行
打印
,因为这些都是变量

#!/usr/bin/perl 
use strict;
use warnings;

my %abc= (
    Education => "BE",
    Marital_Status => "Single", 
    Age => "28", 
    Working_Exp => "4yrs"
);
my %cde= (
    Education => "BE",
    Marital_Status => "Single", 
    Age => "29", 
    Working_Exp => "5yrs"
);


my %info = (
   info_one => \%abc,
   info_two => \%cde
);

foreach my $val (keys %info) {
    foreach my $check ( keys %{$info{$val}} ) {
        print ${$info{$val}}{$check}."\n";
    }
}

最后一行有点难看,但当你阅读《数据结构烹饪书》时,你将学会使用
->
运算符,并更优雅地编写语句。

使用匿名哈希,这将帮助你存储和管理数据。@Naghaergowda:你的意思是,使用“”,你想比说得更准确些吗“将帮助您存储和管理数据”:@DanDascalescu:是的,它的“hashrefs”和谢谢Dan:)使用匿名散列来帮助您存储和管理数据。@Naghaergowda:你的意思是,使用“”,你想比说“将帮助您存储和管理数据”更准确一些:)@DanDascalescu:是的,它的“hashrefs”和谢谢Dan:)