use strict; use warnings; use URI; use URI::Find; use Config::IniHash; use File::Basename; use File::Spec::Functions qw(catfile); my $dir = 'Links'; unless (-d $dir) { mkdir $dir or die "can't mkdir($dir): $!"; } URI::Find->new(\do {local $/; <> })->find(sub { my($uri, $orig_uri) = @_; WriteINI(catfile($dir, uc URI->new($uri)->host), { DEFAULT => { BASEURL => $uri }, InternetShortcut => { URL => $uri, Modified => 0 }, }); });