ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/Net-XMPP2/samples/room_lister_calc
Revision: 1.1
Committed: Sun Jul 8 15:52:37 2007 UTC (17 years ago) by elmex
Branch: MAIN
CVS Tags: HEAD
Log Message:
added room listing sample

File Contents

# User Rev Content
1 elmex 1.1 #!/opt/perl/bin/perl
2     use Storable;
3     my $sd = retrieve 'serverdata.stor';
4    
5     my %non_empty_all;
6     my %printed;
7    
8     for (sort { $sd->{$b}->[5] <=> $sd->{$a}->[5] } keys %$sd) {
9     my ($jid, $rooms, $non_emptyr, $all, $non_empty, $users, $rooms) = @{$sd->{$_}};
10     next unless $non_empty > 0;
11     printf "%-30s: %-30s: non_empty: %d user sum: %d, top 10 rooms: \n", $_, $jid, $non_empty, $users;
12     next if $printed{$jid};
13     $printed{$jid} = 1;
14     for (0..9) {
15     my $r = $rooms->[$_];
16     last unless defined $r;
17     my $n = $non_emptyr->{$r}->[0]->[1];
18     my $j = $non_emptyr->{$r}->[0]->[0];
19     $n =~ /^(.*?)\((\d+)\)\s*$/;
20     printf "%-30s * users: %3d, jid: %s\n", "", $2, $j;
21     }
22     }