In parole povere:

codice:
    # Ordino...
   my @ARRAY = sort { $HASH{$b} <=> $HASH{$a} } keys %HASH; undef %HASH;

    # Divido in pagine da 10...

    my $Current_page; # es: 0
    my $k = 0;

     CICLO:
     do
     {

       $k++
       $Current_ID = ( ( ($Current_page * (10-1) ) + $k )/1 );
       $value = $ARRAY[$Current_ID];
       push ( @DIECI_IDS , $value );

       last CICLO if $DIECI_IDS = 10; # se @DIECI_IDS contiene 10 valori lascia il CICLO

     } while();
ma non ne riesco a venire a capo...