#!/usr/bin/perl
use strict;

my $historie = $ENV{"HISTFILE"}; #cesta k souboru s historií
my %stat;                        #bude obsahovat veškeré použité příkazy (klíč) a u každého počet použití (hodnota)
my $pocet = 5;                   #obsahuje číslo, kolik nejčastějších příkazů bude vypsáno
my @radky;
my $i = 0;
my $prikaz;

open(PRIKAZY, $historie) or die ("Nelze otevřít soubor s historií!");

#naplníme hash %stat příkazy a jejich četností
while ($prikaz = <PRIKAZY>){
    chomp $prikaz;
    $stat{$prikaz}++;
}

close PRIKAZ;

#připravíme k seřazení
foreach my $klic (keys %stat){
    $radky[$i] = "$stat{$klic} - $klic\n";
    $i++;
}

#pole příkazů seřadíme podle jejich četnosti a požadovaný počet nejčastějších tiskneme
foreach my $klic (sort {$b <=> $a} @radky){
    print $klic;
    $pocet--;
    if ($pocet == 0){last;}
}
