Just for the heck of it, I decided to stick a so-called random button on this blog to give folks a chance to jump around this blog in a more precarious and unexpected way.
If you look closely, you will see the bluish button on the right margin, and placed randomly (note the meta pun) all over the place. The button looks like this:
So how does it work? you might be wondering. Well for those Perl gurus out there it is nothing more than a simple script which scans a given directory, grabs a random HTML-file from the listing and does a good old redirect via the HTTP-header.
Of course, in order for this little code snippet to work, you have to have CGI enabled on your web server, e.g. included as part of your subscription.
Confused? Then here is a little code which I hope helps you folks out:
#!/usr/bin/perl -w # # rand_redirect.pl # # Redirect for MovableType where a user will be sent # to a random blog entry, category or whatever the # HTML-file is present in the archive directory. # use strict; my $dir = "archives"; my $rootdir = "/Blogger"; use CGI; my $q = new CGI; if (opendir(DX, $dir)) { my @allfiles = sort grep { $_ ne '.' and $_ ne '..' and ($_ =~ /\.html$/i) } readdir DX; closedir DX; my $num = (@allfiles); if ($num > 0) { my $n = rand($num); my $fname = $allfiles[$n]; print $q->redirect("$rootdir/$dir/$fname"); } }
The last step is the easiest. Decide where on the page you want the button to appear, and just add the following code there:
<input type="button" value="Random" onclick="document.location='/cgi-bin/rand_redirect.pl'">
Hope this little code snippet helps someone out there whenever and however that may ever be. Please tell me what you think.