| [ CnUnix ] in KIDS 글 쓴 이(By): wang (Chip쟁이) 날 짜 (Date): 2003년 11월 24일 월요일 오후 06시 03분 18초 제 목(Title): Re: [Q] aggregation한 값 구하기 # 수정본 #!/bin/perl -w while(<>){ chomp; if(/^\s*$/){next;} $_ =~ s/^\s*//; @items = split /\s+/; if(defined $hash{$items[0]}){ $hash{$items[0]}->[0] = $hash{$items[0]}->[0] + $items[2]; $hash{$items[0]}->[1] = $hash{$items[0]}->[1] + $items[3]; $hash{$items[0]}->[2] = $hash{$items[0]}->[2] + $items[4]; }else{ $hash{$items[0]} = [$items[2],$items[3],$items[4]]; } if(defined $hash2{$items[1]}){ $hash2{$items[1]}->[0] = $hash2{$items[1]}->[0] + $items[2]; $hash2{$items[1]}->[1] = $hash2{$items[1]}->[1] + $items[3]; $hash2{$items[1]}->[2] = $hash2{$items[1]}->[2] + $items[4]; }else{ $hash2{$items[1]} = [$items[2],$items[3],$items[4]]; } } print "=======================================================\n"; foreach $key (sort sortfunc keys %hash){ print "$key : $hash{$key}->[0], $hash{$key}->[1], $hash{$key}->[2]\n"; } print "=======================================================\n"; foreach $key (sort sortfunc keys %hash2){ print "$key : $hash2{$key}->[0], $hash2{$key}->[1], $hash2{$key}->[2]\n"; } sub sortfunc{ return $a - $b; } |