#!/usr/bin/perl #Created by Ann Lewis and Avi Silterra #Converts IE Favorites into a bookmark list, links.html #usage: convert [Favorites directory] use strict; use File::Listing; my $name = "Avi J Silterra"; my $top_dir = @ARGV[0]; open(OUTPUT,">$top_dir\\links.html"); print OUTPUT "\n"; print OUTPUT "Bookmarks for $name\n"; print OUTPUT "

Bookmarks for $name

\n"; print OUTPUT "Perl script which created this from IE Favorites
\n"; print "starting w/ $top_dir\n"; convert_dir($top_dir); print OUTPUT ""; close OUTPUT; print "Conversion Successful"; #usage: parse_file [directory] [file name] sub parse_file{ my $fname = @_[1]; my $dir = @_[0]; (my $title, $_) = split(/\.url/, $fname); open(FILE, "@_[0]\\$fname"); my @lines = ; foreach my $line (@lines) { if(uc($line) =~/URL/ && not(uc($line) =~/BASEURL/)) { chomp($line); my($junk, $url) = split(/=/, $line); print OUTPUT " $title
\n"; } } close FILE; } #usage: convert_dir [directory name] sub convert_dir{ my $dir = @_[0]; #get directory name # my $re = '\\'; ($_, my $pretty_dir) = split(/\\/,$dir); print OUTPUT "

$pretty_dir

\n"; local *MYDIR; opendir(MYDIR, "$dir") || die "$dir is a bad directory name \n"; #run first on files while( defined( my $file=readdir(MYDIR))) { if( uc($file) =~/.URL/ ) {parse_file($dir, $file);} } print OUTPUT "\n"; local *ME; #I wish I knew how to reset to beginning of file! opendir(ME,"$dir") || die "$dir is a bad directory name \n"; #recurse on directories while( defined( my $subfolder=readdir(ME))) { if((-d $subfolder) && ($subfolder ne '.') && ($subfolder ne '..')) {convert_dir($dir.'\\'.$subfolder);} } }