| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | #!/usr/bin/env perluse strict;use warnings;our %sshs;open(HISTORY, "$ENV{HOME}/.histfile") || die "Cannot open history file: $!\n";sub hashValueDescendingNum {    $sshs{$b} <=> $sshs{$a};}while (<HISTORY>) {    my $command = $_;    if ($command =~ m/^$/) {        next;    }    my @comm = split(' ', $command);    if ($comm[0] eq "sudo") {        shift @comm;    }    if (($comm[0] eq "ssh-add") or ($comm[0] eq "add-ssh-keys")) {        if (not exists($sshs{"KEY-MANAGEMENT"})) {            $sshs{"KEY-MANAGEMENT"} = 0;        }        $sshs{"KEY-MANAGEMENT"}++;        next;    }    if (not $comm[0] eq "ssh") {        next;    }    if (exists $comm[1]) {        if (not exists($sshs{$comm[1]})) {            $sshs{$comm[1]} = 0;        }        $sshs{$comm[1]}++;    }}foreach my $key (sort hashValueDescendingNum (keys(%sshs))) {    my $value = sprintf "%8s", $sshs{$key};    print "$value\t$key\n";}
 |