- 论坛徽章:
- 0
|
#!/usr/bin/perl
use strict;
use warnings;
my %hash;
foreach (<DATA>) {
chomp;
my ($a, $b, $c, $d, $e, $f) = split /\ /, $_;
$b += ${$hash{$a}}[0];
$c += ${$hash{$a}}[1];
$d += ${$hash{$a}}[2];
$e += ${$hash{$a}}[3];
$f += ${$hash{$a}}[4];
@{$hash{$a}} = ($b, $c, $d, $e, $f);
}
foreach (keys %hash) {
print "@{$hash{$_}}\n";
}
__DATA__
A 12 34 5 63 58
B 42 36 86 2 23
C 36 98 72 63 3
D 69 32 18 99 66
E 12 34 5 63 58
F 42 36 86 2 23
G 36 98 72 63 3
D 60 32 10 9 23
|
中间的 ${$hash{$a}}[0] 貌似因为没有 也不能去初始化 都会报错
虽然结果出来是正确的
请问这种怎么避免报错
报错信息
Use of uninitialized value in addition (+) at /root/addd.pl line 10, <DATA> line 8.
Use of uninitialized value in addition (+) at /root/addd.pl line 11, <DATA> line 8.
Use of uninitialized value in addition (+) at /root/addd.pl line 12, <DATA> line 8.
Use of uninitialized value in addition (+) at /root/addd.pl line 13, <DATA> line 8.
Use of uninitialized value in addition (+) at /root/addd.pl line 14, <DATA> line 8. |
|