I went home for Thanksgiving this weekend, and while I was there, I wanted to grab a bunch of old bookmarks on my old computer, and then send the urls to myself back at college. However, IE doesn't have an "export bookmarks" feature. So, I wrote a quick one-off CGI script to go through the bookmarks folder and grab the urls from the files, and then spit them out in plain text format.
#!perl -w
use strict;
use CGI qw(header);
use File::Find;
print header(-type=>"text/plain");
find(\&wanted, $ENV{USERPROFILE});
sub wanted
{
stat $File::Find::name;
return if -d;
return unless -r && -f;
open (BOOKMARK, $File::Find::name);
my @bookmark=<BOOKMARK>;
close (BOOKMARK);
my $head;
if ($bookmark[1] =~ /^BASEURL=/){$head=8}
else{$head=4}
print substr($bookmark[1],$head,length($bookmark[1]));
}
Update: Added $ENV{USERPROFILE} instead of hardcoded path thanks to a comment by
$code or die.