home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: alt.newgroup,alt.config,alt.sources
- From: emv@msen.com (Ed Vielmetti)
- Subject: Burst the "alt" newsgroups listing
- Message-ID: <EMV.91Jun1020301@bronte.aa.ox.com>
- Date: Sat, 1 Jun 1991 06:03:04 GMT
-
-
- Archive-name: burst-alt-newsgroups-listing/19910601
-
- #!/usr/local/bin/perl
-
- $igtopdir = "/u/msen/lib/ig-burst"; # customize here
-
- # takes news@becker's "alt" newsgroups list and shreds it up.
- # usage:
- # burst-alt-newsgroups-listing 199106 alt-newsgroups-listing
- # this creates a bunch of directories with names like
- # a/a/alt.alt
- # a/s/alt.sex
- # and drops one line onto the end of each corresponding to the
- # appropriate newsgroup.
- #
- # a similar approach can be taken with any other periodic list that
- # mentions a lot of newsgroups, like the arbitron ratings. it can
- # provide you with a convenient place for squirreling away information
- # on just what is in a newsgroup (like a newsgroup charter, archive
- # sites), in particular to get a sense from different commentators
- # on what they see as important.
- #
- # it is suggested that commentators producing lists such as this one
- # acknowlege that there are differing opinions on what constitutes
- # an appropriate posting to any list or group. diversity (oh, I love
- # that word) in opinion on what is "right" and "appropriate" for a
- # is to be expected. by producing lists of this form that lend themselves
- # to being shredded up, you too can participate in the continuing
- # evolution of the net.
- #
- # Edward Vielmetti, emv@msen.com
- # version 1.000
- # bugs: doesn't check arguments very well
- # doesn't work in a pipe
- # hashing scheme is non-obvious until you've dumped in a lot of groups
- # 45 characters is not enough to describe a newsgroup.
-
-
- $month = $ARGV[0];
- open(REPORT,$ARGV[1]) || die "can't open report";
- while (<REPORT>) {
- last if /--------- 8< -/ ;
- }
-
- chdir($igtopdir) || die "no top directory! ";
- while (<REPORT>) {
- next if /^[-]*$/;
- if (/^([a-z0-9.]+)(\s+)(.*)$/) {
- $group = $1;
- $blurb = $3;
- ($first = $group) =~ s/^(.)(.*)$/\1/;
- ($second = $group) =~ s/^[^\.]+\.(.)(.*)$/\1/;
- print "$group $first $second $blurb\n";
- -d "$first" || mkdir("$first",0755);
- -d "$first/$second" || mkdir("$first/$second",0755);
- -d "$first/$second/$group" || mkdir ("$first/$second/$group",0755);
- open(BLURB,">>$first/$second/$group/blurb-becker");
- print BLURB "$month $_";
- close(BLURB);
- }
- }
-