1

ハッシュのハッシュを生成しようとしています。txt ファイルから入力を読み取り、データをハッシュのハッシュに変換しています。txtファイルのフォーマットは

flintstones : lead=fred pal=barney
jetsons : lead=george wife=jane "his boy"=elroy
simpsons : lead=homer wife=marge kid=bart

ハッシュ形式のハッシュは次のとおりです

%HoH = (
    flintstones => {
    lead      => "fred",
    pal       => "barney",
    },
    jetsons     => {
    lead      => "george",
    wife      => "jane",
    "his boy" => "elroy",
    },
    simpsons    => {
    lead      => "homer",
    wife      => "marge",
    kid       => "bart",
},
 );

私が書いているコードは

use strict;
use warnings;

my %hash = ();
my $hash1 = {};
open (FH, "2.txt") or die "file not found";
while (<FH>) {
my @array = split (":", $_);
$array[0] =~ s/^\s*//;
$array[0] =~ s/\s*$//;
$array[1] =~ s/^\s*//;
$array[1] =~ s/\s*$//;
my @array1 = split (" ", $array[1]);
for (0..$#array1) {
    my ($key, $value) = split ("=", $array1[$_]);
    $hash{$array[0]}{$key} = $value;
    #$hash1->{$key} = $value;
    #print "    $hash1{$key} \n";
}
#$hash{$array[0]} = $%hash1;

}
close FH;
print " value is %hash" ;

出力が得られません。私のコードで何が間違っていますか

4

1 に答える 1