#!perl # repviewer parses the reputation file generated by jcwren's luke_repwalker.pl # to generate a full list of your articles sorted by creation time, title or # reputation just like the one at perlmonks user search except that all # articles are displayed on one page. Just set $pm and $rep below. use strict; use CGI qw(:standard *table); use HTML::Entities; my$pm = 'http://perlmonks.org'; # your login domain for perlmonks, used for node link my$rep = 'c:\.rep.epoptai'; # full path to rep file generated by luke_repwalker.pl my%i = map{$_ => param($_)} param; my($mode,$td,$ta,$rd,$ra,$ca,$cd); if($i{'o'} eq 'title DESC'){$mode='td'; $td='selected'} if($i{'o'} eq 'title ASC'){$mode='ta'; $ta='selected'} if($i{'o'} eq 'reputation DESC'){$mode='rd'; $rd='selected'} if($i{'o'} eq 'reputation ASC'){$mode='ra'; $ra='selected'} if($i{'o'} eq 'createtime ASC'){$mode='ca'; $ca='selected'} if(($i{'o'} eq 'createtime DESC') or (!$i{'o'})){$mode='cd'; $cd='selected'} print header,start_html(-title=>'repviewer',-bgcolor=>'#a0a0a0'); print<
'; if($mode=~/td|ta/){ # by title print start_table({-border=>'1',-cellpadding=>'2',-cellspacing=>'1',-bgcolor=>'#c0c0c0'}); print 'HTML open(REP,"< $rep") or die "$!"; my@rep=; die "$!" unless close(REP); my(%reps,%tits,%dates,@reps,@tits,$tot); for(@rep){ $_=~m/^"(\d+)","(.*)","(-?\d+)","(.*)"$/; my$node = $1; my$title= $2; my$rep = $3; my$date = $4; &encode_entities($title); $reps{$node}=$rep; $tits{$node}=$title; $dates{$node}=$date; } for(values(%reps)){ $tot += $_ } for(keys(%tits)){ push @tits, $tits{$_}.'=|||='.$_ } my$i=1; printf (" Total articles: %d\n", scalar @rep); # nod to luke printf (" Total reputation: %d\n", $tot); printf ("Average reputation: %3.2f\n", $tot / scalar @rep); print '