return;
}
}
- for my $k( keys %{ $heap->{ "karma" } } ) {
- if( $k =~ /[[:space:]]/ || $k =~ /^$/ ) {
- delete $heap->{ "karma" }->{ $k };
+ if( exists( $heap->{ "karma" }->{ $what } ) ) {
+ delete $heap->{ "karma" }->{ $what };
+ } else {
+ for my $k( keys %{ $heap->{ "karma" } } ) {
+ if( $k =~ /[[:space:]]/ || $k =~ /^$/ ) {
+ delete $heap->{ "karma" }->{ $k };
+ }
}
}
$kernel->post( $src, $replypath, "Squeak squeak.", $dest );
}
for my $key (keys %karma) {
+ my $slotted = 0;
INNER:
for( my $i = 0; $i < $target; $i++ ) {
- if( !defined( $response[ $i ]->[1] ) || $response[ $i ]->[0]*$mult < $karma{ $key }*$mult ) {
+ if( !defined( $response[ $i ]->[1] ) ) {
$response[ $i ] = [ $karma{ $key }, $key ];
+ $slotted = 1;
last INNER;
}
}
+ if( $slotted == 0 ) {
+ INNER:
+ for( my $i = 0; $i < $target; $i++ ) {
+ if( $response[ $i ]->[0]*$mult < $karma{ $key }*$mult ) {
+ $response[ $i ] = [ $karma{ $key }, $key ];
+ last INNER;
+ }
+ }
+ }
}
if( $mult == 1 ) {
@response = sort { $b->[0] <=> $a->[0] } @response;
}
my $resp = $response[0]->[1]." (".$response[0]->[0].")";
for( my $i = 1; $i < scalar @response; $i++ ) {
+ next unless defined $response[ $i ]->[1];
$resp .= ", ".$response[ $i ]->[1]." (".$response[ $i ]->[0].")";
}
$kernel->post( $src, $replypath, ($mult eq "-1"?"Bottom":"Top")." $target: $resp", $dest );