#!/usr/bin/perl -w use lib 'lib'; use lib '../lib'; use FindBin; BEGIN { # This code will track down the directories where EtText # keeps its modules, portably, so it'll work on Macs, UNIX and Win32, # with or without a UNIX-style "make install" installation. # Sadly, we can't rely on File::Spec to do the slash-twiddling for us; # it's not included with some versions of MacPerl. :( # my $bin = $FindBin::Bin; my $slash = '/'; # between directories in a path my $dirtrailer = ''; # at the end of a directory's path if ($^O eq 'MacOS') { $slash = ':'; $dirtrailer = ':'; } elsif ($^O =~ /(win|os2)/) { $slash = '\\'; } # first, find the common candidates: "lib" in # the same dir as the script. These are likely on all platforms. $_ = $bin.$slash. "lib" . $dirtrailer; push (@INC, $_); # next, support UNIX-style /usr-based installation, where the # script lives in /usr/*/bin and the support files in /usr/*/lib # or /usr/*/share. This only happens on UNIX afaik. if ($slash eq '/') { $_ = $bin . "/../lib/ettext"; if (-d $_) { push (@INC, "$_/lib"); } $_ = $bin . "/../share/ettext"; if (-d $_) { push (@INC, "$_/lib"); } } } require Text::EtText::EtText2HTML; if ($#ARGV >= 0) { for $_ (@ARGV) { open (STDIN, "< $_") or die "cannot read $_\n"; do_stdin (); } } else { do_stdin (); } exit; sub do_stdin { $t = new Text::EtText::EtText2HTML; print $t->text2html (); } # --------------------------------------------------------------------------- =head1 NAME ettext2html - convert from the simple EtText editable-text format into HTML =head1 SYNOPSIS ettext2html file.txt > file.html =head1 DESCRIPTION ettext2html will convert a text file in the EtText editable-text format into HTML. For more information on the EtText format, check the WebMake documentation on the web at http://ettext.taint.org/ . =head1 INSTALLATION The B command is part of the B Perl module set. Install this as a normal Perl module, using C, or by installing WebMake. =head1 ENVIRONMENT No environment variables, aside from those used by perl, are required to be set. =head1 SEE ALSO C C C C C =head1 AUTHOR Justin Mason Ejm /at/ jmason.orgE =head1 PREREQUISITES C =cut