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

File Contents

# Content
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 }