I found myself needing various RFCs at hand, so I ended up scratching this itch by coding up a few lines of perl to get the job done. You can pipe the output thru
less or your favourite pager.
usage: rfc <rfc#>
(Yes, I'm too lazy to view them in a browser window which is covered by terminals. :o)
Update: neophyte had a couple of good ideas; I've implemented one of them here.
Update2: (20010517) Implemented merlyn's suggestion of using mirror(), changed the server to one which makes that work.
#!/usr/bin/perl -w
# example usage: rfc 1459 (gets the IRC RFC)
use strict;
$|++;
use LWP::Simple;
use HTTP::Status;
die("usage: rfc <rfc#>\n") unless defined($ARGV[0]);
my $rfcnum=$ARGV[0];
my $base="ftp://ftp.rfc-editor.org/in-notes/rfc";
my $rfcurl=$base.$rfcnum.".txt";
my $rfcdir="$ENV{HOME}/rfcs";
my $rfcfile="${rfcdir}/rfc${rfcnum}.txt";
my $rfc;
my $rc=mirror($rfcurl,$rfcfile);
# any 4xx or 5xx error probably means we got no RFC
if($rc < 400) {
open(RFC,"<$rfcfile") or die("open($rfcfile): $!\n");
local $/ = undef;
$rfc=<RFC>;
close(RFC);
print "$rfc";
} else {
print "Failed to fetch ${rfcurl}: $rc ", status_message($rc), "\n"
+;
}
__END__
(View source for the old version)