use strict; my $article_directory = $ARGV[0] || "."; my $base_url = $ARGV[1] || "http://your.boss.net/BigBoss/articles/"; my @articles; print "Reading articles from $article_directory"; opendir DIR, $article_directory or die "Couldn't find $article_directory : $!\n"; @articles = reverse sort grep /\.txt$/ readdir DIR; closedir DIR; print "$#articles articles found.\n"; # Now we have all articles in order. Let's print them out : open HTML, "> $article_directory/index.html" or die "Couldn't create index.html in $article_directory : $!" # Change the HTML to your taste print HTML "" my $article; foreach $article (@articles) { print "."; my $title = $article; my $date = "No date given"; if ($article =~ /^(\d{4})-(\d{2})-(\d{2})-(.*).txt$/) { $date = "$3.$2.$1"; $title = $4; $title =~ tr/_/ /; }; print HTML "$date : $title\n" }; print HTML " close HTML;