求助~~这个应该怎么写阿??头疼阿~~~

求助~~这个应该怎么写阿??头疼阿~~~

大侠们帮忙想想阿~~~偶实在是想不出来阿~



我现在有个包含 人名的数组       @name=  qw( A    B    C   D    E    F    G    H);
数据库中每个人对应的记录数是    @record= qw(10  15  16  21  22  23  32  23);

另外,我有个hash,包含了 @name数组中部分人员的满足条件的记录数,如:

                $hash=(
                              A=>"2",
                              D=>"5",
                              F=>"12"
                            );


我想得到一个新的数组,按照 @name中的人名顺序,在hash中有值的填入数值,没有的话就为0

类似   

@name=  qw( A    B    C   D    E    F    G    H);
@record= qw( 2    0    0   5    0    12   0   0);


请教阿~
@record = map{ $hash{$_} + 0 } @name;
谢谢老大阿~~

努力学习阿~~T_T


[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl
use strict;
use warnings;

my @name = qw ( A B C D E F G H);
my %hash = ( A=>2,
             D=>5,
             F=>12
             );
my @record = map { defined $hash{$_} ? $hash{$_} : 0 } @name;
print "@name\n";
print "@record\n";



QUOTE:
<lig@other-server:~/chinaunix>$ ./map
A B C D E F G H
2 0 0 5 0 12 0 0

谢谢~~谢谢~~老大们真热心~~