linktracker.pl (file you redirect to) #!/usr/bin/perl # # link tracker # use warnings; use strict; use CGI::Carp qw(fatalsToBrowser); use CGI qw/:standard/; use POSIX; use DB_File; my %db; my $db = "linktracker.db"; tie %db, "DB_File", "$db", O_CREAT | O_RDWR, 0644, $DB_BTREE or die "Cannot open file 'db': $!\n"; my $url = url_param('url'); if (exists $db{$url}) { my $value = $db{$url}; $value++; $db{$url} = $value; print "Location: $url\n\n"; } else { $db{$url} = 1; print "Location: $url\n\n"; } #### linkcount.pl (stats page) #!/usr/bin/perl # # link counter # use warnings; use strict; use CGI::Carp qw(fatalsToBrowser); use CGI qw/:standard/; use POSIX; use DB_File; my %db; my $db = "linktracker.db"; tie %db, "DB_File", "$db", O_CREAT | O_RDWR, 0644, $DB_BTREE or die "Cannot open file 'db': $!\n"; print header, start_html; print "
"; print ""; print qq(); print qq(); foreach (keys %db) { print "\n"; } print "
URLClick Count
$_
$db{$_}
"; print "
";