This converts Netscape (4.7) bookmarks.html to a hash. Sort of. It prints out what a hash would look like so you can just concatenate it to a script youre working on. The heart of this is a regular expression, some credit for which is due to japhy. I used this to create a cgi for my bookmarks from several different machines (work, home, laptop, etcetera) that I had been running linux on.

I have only tested this on linux boxes.

#!/usr/bin/perl -w use strict; my $bms; { local $/; my $file = shift; open BMS, $file; $bms = <BMS> } my @html = split /<DT>/, $bms; foreach my $link (@html) { my ($dest, $name) = $link =~ m#<A HREF="([^"]+)"[^>]*>([^<]+)</A>#; print <<"EOF"; { '$name' => '$dest' }, EOF }