- 论坛徽章:
- 3
|
- #!/usr/bin/perl
- use strict;
- use warnings;
- my ( $n, $element_num );
- while (<DATA>) {
- chomp;
- my ( $_, @line ) = split /\s{2}/;
- $element_num = $#line;
- /([A-Z]+)/;
- push @{ $n->{$1} }, [@line];
- }
- for my $key ( keys $n ) {
- print $key, "\n";
- for my $num ( 0 .. $element_num ) {
- my $s;
- my $m = { A => 0, B => 0, C => 0, D => 0 };
- for my $key2 ( 0 .. $#{ $n->{$key} } ) {
- $s += split " ", $n->{$key}[$key2]->[$num];
- $m->{$_}++ for split " ", $n->{$key}[$key2]->[$num];
- }
- for ( sort keys $m ) {
- my $p = sprintf "%0.3f", $m->{$_} / $s;
- print " $_ $p ";
- }
- print "\n";
- }
- }
- __DATA__
- VS1 A B C D A B
- VS2 B A D C C D
- VS3 A B A C B A
- EM1 C D D C C D
- EM2 A B B A D C
- EM3 B A C D A B
- EM4 A B A B B A
- DK1 A B D C D C
- DK2 B A C D C D
复制代码 |
|