podes tener una base de datos "plain text" esto es tener todo en un archivo .txt
lo q podes hacer es tener un archivo q se llame contador.txt, q contenga datos de la siguiente forma
id1|url1|counts1
id2|url2|counts2
id3|url3|counts3
etc...
como por ejemplo
yahoo|http://yahoo.com/|5
altavista|http://av.com|10
etc....
ahora podes hacer un "menu.cgi"
#!/usr/bin/perl
print "content-type:text/html\n\n";
open (IN, "contador.txt");
@data = <IN>;
close (IN);
foreach $i(@data){
chomp $i
($id,$url,$counts) = split(/\|/,$i);
print qq*<a href="redir.cgi?$id">$id</a><br>*;
}
esto te generara un menu con los id con link a un archivo "redir.cgi", con el id en el query string.
ahora hace "redir.cgi"
#/usr/bin/perl
open (IN, "contador.txt");
@data = <IN>;
close (IN);
open(OUT,">contador.txt");
foreach $i(@data){
chomp $i
($id,$url,$counts) = split(/\|/,$i);
if($id eq $ENV{QUERY_STRING}){
$redir=$url;
$counts++;
print OUT "$id|$url|$counts\n"
}else{print OUT "$i\n";}
}
close(OUT);
print "Location:$redir\n\n";
este va a aumentar tu contador y redirigir a la pagina q queres
cualquier duda, me preguntas