>
>And it doesn't work. Any help is appreciated.
>

Hello,I'd modify your script as follow,and it could work for me.

use strict;
use warnings;

my %rules_new = (aaa => [11,22,33,44],
                 bbb => [55,66,77,88],
                );

for my $rule (sort {&compute_probability($b) <=> &compute_probability($a)} keys 
%rules_new) {
        my $freq1 = $rules_new{$rule}->[0] || '0';
        my $freq2 = $rules_new{$rule}->[1] || '0';

        my $prob1 = $freq1 / ($freq1 + $freq2);
        my $prob2 = $freq2 / ($freq1 + $freq2);

        print  "$rule\t$freq1\t$freq2\t$prob1\t$prob2\n";
}


sub compute_probability() {
        my $key = shift;
        my $prob = $rules_new{$key}->[0] / ($rules_new{$key}->[0] + 
$rules_new{$key}->[1]);
        return $prob;
}

--
Jeff Pang
NetEase AntiSpam Team
http://corp.netease.com

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to