fenster@fenster:~/.centericq$ cat nickstat.pl #!/usr/bin/perl use strict; use warnings; use locale; my $basedir = "$ENV{HOME}/.centericq"; opendir(my $dir, $basedir); my @dir = grep { -d "$basedir/$_" && -e "$basedir/$_/info" } grep !/^\.\.?$|^0$/, readdir $dir; closedir $dir; my %nicks; my %repeat; foreach my $dir (@dir) { open(my $f, "$basedir/$dir/info"); my @list = <$f>; close $f; my ($nick, $displayname) = map { chomp; "\L$_" } @list[0, 45]; $displayname =~ s/.*, //; unless (exists $repeat{$nick,$displayname}) { $repeat{$nick,$displayname} = 1; unless (exists $nicks{$nick}) { $nicks{$nick} = []; } push @{$nicks{$nick}}, $displayname; } } foreach (sort { @{$nicks{$b}} <=> @{$nicks{$a}} } grep { @{$nicks{$_}} > 1 } keys %nicks) { printf "%10s\t%d\n", $_, scalar @{$nicks{$_}}; }