Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re(2): RFC fetcher

by yakko (Friar)
on Apr 04, 2001 at 21:29 UTC ( #69761=note: print w/ replies, xml ) Need Help??

in reply to Re: RFC fetcher
in thread RFC fetcher

Great ideas! Here's my implementation of the first idea:
#!/usr/bin/perl -w # example usage: rfc 1459 (gets the IRC RFC) use strict; use LWP::Simple qw(get); die("usage: rfc <rfc#>\n") unless defined($ARGV[0]); my $rfcnum=$ARGV[0]; my $base=""; my $rfcdir="$ENV{HOME}/rfcs"; my $rfcfile="${rfcdir}/rfc${rfcnum}.txt"; my $rfc; if(-e $rfcfile) { open(RFC,"<$rfcfile") or die("open($rfcfile): $!\n"); local $/ = undef; $rfc=<RFC>; close(RFC); } else { $rfc=get($base.$rfcnum.".txt"); open(RFC,">$rfcfile") or die("open($rfcfile): $!\n"); print RFC "$rfc"; close(RFC); } print "$rfc"; __END__
(Update: Just when I thought I had it nailed, better ideas crop up. Now reading docs to retool to merlyn's idea below. (tho doesn't appear to return the proper headers that support mirror()))

Me spell chucker work grate. Need grandma chicken

Comment on Re(2): RFC fetcher
Select or Download Code
Replies are listed 'Best First'.
Re: Re(2): RFC fetcher
by merlyn (Sage) on Apr 04, 2001 at 21:45 UTC
    I'd use LWP::Simple's mirror($url, $localfile) in place of the if/else test. That way, if they update it, you'll get the latest version, and if it hasn't changed, it's still minimal traffic. It also automatically avoids creating the local file if the remote fetch failed, so you won't end up with an empty RFC file if something's broken.

    -- Randal L. Schwartz, Perl hacker

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://69761]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2016-04-30 07:45 GMT
Find Nodes?
    Voting Booth?
    :nehw tseb si esrever ni gnitirW

    Results (441 votes). Check out past polls.