> >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>