Perl Kung-Fu: How to Setup an IE-Inbox
by phil on Saturday Mar 20, 2004 1:04 PM
There is a magical folder on my Windows desktop where I can click-and-drag URL shortcuts directly into Philosophistry (this appears in the right-quadrant of my blog). I can also kill links just as easily as I create them, by dragging them away into the recycle bin. In other words, part of my site is a real-time portal into a directory on my computer.
For the curious, here's the way I did it.
First, I have server-side includes enabled on my site, which allows scripts to be executed from my HTML before they reach visitors.
So in the source code of my index.shtml, it says:
<!--#exec cmd="ie_inbox.pl"-->
If you tried to "View Source" you would not see that line as the server strips it out before its served. This is called "pre-processing."
That line executes the following Perl script.
#!perl
$dir = "/Documents and Settings/Philip Dhingra/Desktop/ie_inbox/";
opendir(DIR, $dir);
@files = readdir(DIR);
sort (@files);
foreach $file (@files) {
if (-f "$dir$file" && $file =~ /\.url$/i) {
open URL, "$dir$file";
while () {
if (/^URL=/) {
chomp;
$_ =~ s/^URL=//;
$file =~ s/\.URL$//i;
print "<li><A TARGET=_blank HREF=\"$_\">$file</A>\n";
close URL;
break;
}
}
}
}
(You may use this just sorta give credit where credit is due)
In a nutshell, the script searches for all the .url files in a specified folder, opens them up, and then rips out the URL string. It then uses the name of the file as the title of the site and then kicks out a hyperlink. Easy as that.
