This is a list of my current bookmarks on my desktop machine at work. The 'Cool stuff' is probably of most interest to most people, the rest reflects various hobbies, obsessions, and current projects.
For more details about the script it uses, see my Scripts List

#!/usr/bin/perl $request_method = $ENV{'REQUEST_METHOD'}; $query_string = $ENV{'QUERY_STRING'}; require "/home/hatter/cgi-bin/hatterlib"; &parse_form_data(*form); if ($form{'bgcolor'}) {$bgcolor=$form{'bgcolor'}} else {$bgcolor="e0ffff"} if ($form{'link'}) {$link=$form{'link'}} else {$link="002010"} if ($form{'vlink'}) {$vlink=$form{'vlink'}} else {$vlink="d090f0"} open(BM," begins List #

indicates heading or list item $thislevel = 0; if ($form{'levelname'} eq "") { $printlevel = 1; $levelname = ""; } else { $levelname = $form{'levelname'}; $printlevel = $form{'printlevel'}; } @levels = (''); @locked = (''); while () { $thisline = $_; $folder = 0; if ($thisline =~ /
/i) {$thislevel++; $levels[$thislevel] = $textdesc; next} elsif ($thisline =~ /<\/dl>/i) {$thislevel--; next;} elsif (($thisline =~ /
/i)&&($thislevel == $printlevel)) { $linkdesc = $thisline =~ /
(.+)/; $locked[$#menu] = 1; next; } ($textdesc) = $thisline =~ /.*>(.+)<.*/; ($alink) = $thisline =~ /.*HREF="([^"]*)".*/; if ($alink eq "") { $alink = "/cgi-bin/bm2index.pl?printlevel=".($thislevel+1)."&levelname=$textdesc&bgcolor=$bgcolor&link=$link&vlink=$vlink"; $folder = 1; } $alink =~ s/ /\+/g; $alink =~ s/([^a-zA-Z?=&:.0-9+\/\-])/"%".asc2hex($1)/eg; if (($thislevel == $printlevel)&&($levelname eq $levels[$thislevel])) { $menu[++$#menu] = $textdesc; $link[$#menu] = $alink; $folder[$#menu] = $folder; } } print <Bookmarks Online - $levelname the hatters bookmarks - $levelname

end_head foreach (0..$#menu) { last if ($menu[$_] eq "private"); next if ($locked[$_]); if ($folder[$_]) {print ""} print " $menu[$_]"; print "
"; } print ""; close BM; exit(0); sub asc2hex { # Surely there's a better way to do this ? my ($convert) = @_; my @hexlist = ('0'..'9','A'..'F'); $convert = ord($convert); $mod = $convert % 16; $exp = ($convert - $mod) / 16; return $hexlist[$exp].$hexlist[$mod]; }