X-Git-Url: https://git.exim.org/exim-website.git/blobdiff_plain/c6d3a19107d0dc596f04ba74ff18a6988b000441..1b371428def1d35dcad9d6f4257356917c14a637:/script/eximhtml2txt.pl diff --git a/script/eximhtml2txt.pl b/script/eximhtml2txt.pl index 02a5b49..38892e1 100755 --- a/script/eximhtml2txt.pl +++ b/script/eximhtml2txt.pl @@ -1,8 +1,9 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # use strict; use warnings; +use File::Spec; use HTML::FormatText; use HTML::TreeBuilder; @@ -19,8 +20,30 @@ sub process_chapter { return $text; } +sub chapters_in_order { + my $dir = shift; + + opendir DIR, $dir or die "opendir($dir) failed: $!\n"; + my @numeric = sort grep {/^ch\d+\.html$/} readdir(DIR); + closedir(DIR) or die "closedir($dir) failed: $!\n"; + + my @results = map { + $_ = File::Spec->catfile($dir, $_); + if (-l $_) { + my $t; + eval { $t = readlink $_ }; + $_ = File::Spec->rel2abs($t, $dir) if defined $t; + } + $_ + } @numeric; + return @results; +} + + my $dir = shift; -foreach my $fn ( glob("$dir/ch*.html") ) { +die "Need a directory\n" unless defined $dir; + +foreach my $fn ( chapters_in_order($dir) ) { print "=" x 72, "\n"; print $fn, "\n"; print "=" x 72, "\n";