rfc1345convert: defer source download to makefile
[sheet.git] / rfc1345convert
index 4fd3940d011a212a2a53c0b7eb600ff22de74573..33b6ee9fb365bc291522f217309afc4dc2b6fb4e 100755 (executable)
@@ -7,32 +7,21 @@ use utf8;
 use open OUT => ':utf8', ':std';
 use Data::Dumper;
 
-our $VERSION = '1.01';
+our $VERSION = '1.02';
 
-# determine input data source
-my $input;
-if (@ARGV) {
-       # manual contents specified (either piped or filename(s) given)
-       $input = \*ARGV;
-}
-else {
-       # automatic download from official website
-       require LWP::Simple;
-       my $contents = LWP::Simple::get('http://www.ietf.org/rfc/rfc1345.txt')
-               or die "Couldn't download RFC-1345 from ietf.org";
-       open $input, '<', \$contents;  # emulate file handle
-}
+# expect input data source at command line
+@ARGV or die "Specify input source file or - for STDIN\n";
 
 # skip everything until a character indented by 1 space (table start)
 do {
-       $_ = readline $input;
+       $_ = readline;
        defined or die "Premature input end";
 } until /^\s\S/;
 
 my @t = $_;  # add first line (already read, assume it's ok)
 
 # read the rest of the character table
-while ($_ = readline $input) {
+while ($_ = readline) {
        # check for table end (chapter 4)
        last if /^\d/;
 
@@ -184,18 +173,17 @@ rfc1345convert - Output digraph data from RFC-1345
 
 =head1 SYNOPSIS
 
-Download and convert the digraph specification from ietf.org:
+Extract digraphs from text specifications as a perl hash:
 
-    rfc1345convert > digraphs.inc.pl
+    rfc1345convert rfc1345.txt custom.txt > digraphs.inc.pl
 
-Test by printing the character for DO (should be a dollar sign):
+Input can be the literal RFC (or similar) document:
 
-    perl -e'$di = do "digraphs.inc.pl"; print chr $di->{DO}->[0]'
+    curl http://www.ietf.org/rfc/rfc1345.txt | rfc1345convert -
 
-Manual specification of source retrieval:
+Test by printing the character for DO (should be a dollar sign):
 
-    rfc1345convert rfc1345.txt
-    curl $url | rfc1345convert -
+    perl -e'$di = do "digraphs.inc.pl"; print chr $di->{DO}->[0]'
 
 =head1 DESCRIPTION