怎么样用hash表示如下文本。。。请大虾指教。

怎么样用hash表示如下文本。。。请大虾指教。

怎么样把如下的文本用hash表示:

name1         {value "$type_name!='x5' and $n==2 and $h==3"}
name2          1000
name3          {"111112345" "111112346" "8564271" "8564273"}
name4          "comment"
......               ......


hash 输出结果如下:
keys为name1  values值为 {value "$type_name!='x5' and $n==2 and $h==3"}
keys为name2   values值为  1000
keys为name3   values值为 {"111112345" "111112346" "8564271" "8564273"}
keys为name4   values值为 "comment"
.........


谢谢。 
while(<>) {
        $h{$1} = $2 if /(\w+)\s+(.*)/;
}
#!/usr/bin/perl
use warnings;
use strict;

my @t;
my %h;
while(<DATA>)
{
    if(/(\w+)\s+(.*)/)
    {
        $h{$1} = $2;
        push @t,$1;
    }
}

print $_,"\t",$h{$_},"\n" for @t;


__DATA__
name1         {value "$type_name!='x5' and $n==2 and $h==3"}
name2          1000
name3          {"111112345" "111112346" "8564271" "8564273"}
name4          "comment"
就是嘛,用()这个保存匹配字串的东东~