Perhaps I wrote this cause it put me in such good company, but.....
This script that will generate a list of monks who have more XP than everyone who signed up after them. For instance George_Sherston makes the list because no one whose homenodeid is higher than 103111 has more than 1282 XP. In otherwords, he's managed to stay ahead of all the newer monks.
Although this is quite silly it does show the power of HTML::TableExtract.
#!/usr/bin/perl -wT use strict; use LWP::Simple; use HTML::TableExtract; my $maxmonks = 2000; my $monksperpage = 50; my $tinymicros = 'http://tinymicros.com/pm/index.php?goto=MonkStats& +start='; my $te = new HTML::TableExtract( headers => ['Rank','Node ID','Name','Experie +nce'], ); my $offset = 0; while ($offset < $maxmonks) { my $html = get("$tinymicros$offset"); $te->parse($html); $offset+=$monksperpage; } print "NodeID Name Experience\n"; my $maxid = 0; for my $ts ($te->table_states) { for my $row ($ts->rows) { my ($rank,$nodeid,$name,$xp) = @$row; if ($nodeid > $maxid) { printf("%6d %-14s %7d\n",$nodeid,$name,$xp); $maxid = $nodeid; } } }
Here is the current list:
NodeID | Name | Experience |
---|---|---|
979 | vroom | 1003990 |
26179 | tilly | 19313 |
33117 | footpad | 9673 |
53423 | Masem | 7054 |
80749 | tachyon | 5423 |
83485 | blakem | 3784 |
85580 | dragonchild | 3694 |
90987 | MZSanford | 1386 |
103111 | George_Sherston | 1282 |
104919 | perrin | 1038 |
108447 | demerphq | 833 |
116014 | pjf | 458 |
117078 | Incognito | 33 |
117190 | Elliott | 29 |
117408 | monk_e_magic | 29 |
117731 | guidomortonski | 16 |
-Blake
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Fastest Rising Monks
by Elliott (Pilgrim) on Oct 10, 2001 at 19:30 UTC | |
by blakem (Monsignor) on Oct 10, 2001 at 22:35 UTC | |
Re: Fastest Rising Monks
by Fletch (Bishop) on Oct 10, 2001 at 21:11 UTC | |
by blakem (Monsignor) on Oct 10, 2001 at 22:41 UTC | |
Re: Fastest Rising Monks
by jweed (Chaplain) on Jan 07, 2004 at 07:20 UTC | |
by artist (Parson) on Feb 19, 2004 at 02:37 UTC |
Back to
Perl Monks Discussion