#!/usr/local/bin/perl # # Copyright 1998 James A. Hart, Bates College, Lewiston, Maine, USA # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ # #------------------------------------ # Majordomo to LWGate database loader. #------------------------------------ # # Reads from stdin the mail message returned from the 'list' command and # creates the lwgate.dat file #**Note that I said "creates" the file. The purpose of this program is # automate the administration of the lwgate.dat file. If you make # manual changes to the lwgate configuration, running this program will # destroy them. #** #------------------------------------ # Configure here #------------------------------------ # $basepath =3D '/usr/local/majordom/Lists/'; $owners =3D 'Jim Hart,jhart@bates.edu'; $domain =3D '@abacus.bates.edu'; $majordomo =3D 'majordomo@abacus.bates.edu'; #-------------------------------------------- $[ =3D 1; # set array base to 1 $, =3D ' '; # set output field separator $\ =3D "\n"; # set output record separator $, =3D ','; while (<>) { chop; # strip record separator # find the list of lists within the mail message if ( $foundstart =3D=3D 0 ) { if ( /^>>>> lists/ ) { $foundstart =3D 1; } next; } else { if ( $foundstart < 3 ) { $foundstart +=3D 1; next; }} # check for all done; first blank line means end of list if ( $_ eq "" ) { exit; } s/"//g; # clear out the quotes s/^ +//; # get rid of the leading spaces s/ +/\t/; # put in the tab = @Fld =3D split(' ', $_, 9999); $listname =3D $Fld[1]; $listtitle =3D $Fld[2]; # get the description from the .info file $descfile =3D $basepath . $Fld[1] . '.info'; $descr =3D ""; while (($_ =3D &Getline2($descfile),$getline_ok)) { $descr =3D "$descr $_ |br|"; } # fix up any quotes in the description $descr =3D~ s/"/""/g; # fix any characters that might look like markup $descr =3D~ s//>/g; $descr =3D~ s/\|br\|/
/g; delete $opened{$descfile} && close($descfile); # check to see if there is an archive $archivefile =3D $basepath . $listname . '.archive'; $archivefile =3D "" # Does the directory exist? unless (-d $archivefile); if($archivefile) { ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) =3D stat($archivefile); $operms =3D $mode % 8; $archivefile =3D "" # Is the directory publicly listable= ? unless ($operms % 2 =3D=3D 1); } &Pick('>', 'lwgate.dat') && (print $fh $listname, "\"" . $listtitle . "\"", 'mdomo', $majordomo, '', '', '', "\"$owners\"", $listname . $domain, $majordomo, '"' . $descr . '"', $archivefile, "^archive\\.....\$"); } sub Getline2 { &Pick('',@_); if ($getline_ok =3D (($_ =3D <$fh>) ne '')) { chop; # strip record separator @Fld =3D split(' ', $_, 9999); } $_; } sub Pick { local($mode,$name,$pipe) =3D @_; $fh =3D $name; open($name,$mode.$name.$pipe) unless $opened{$name}++; } From RPGA-Talk@lists.rpga.org Mon Jan 26 13:32:14 1998 Return-Path: Received: from lists.consultantalliance.com ([206.117.23.8]) by netspace.org (8.8.7/8.8.2) with SMTP id NAA23244 for ; Mon, 26 Jan 1998 13:32:10 -0500 Received: from score.com by lists.consultantalliance.com with SMTP; Mon, 26 Jan 98 09:56:02 -0700 Date: Sat, 24 Jan 98 09:45:28 PST From: Scott Kalman Subject: Re: Lost Children Vocational School and Orphans To: RPGA Talk X-Priority: 3 (Normal) X-Mailer: Chameleon 4.6.3, TCP/IP for Windows, NetManage Inc. Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Reply-To: RPGA Talk Sender: Precedence: Bulk List-Software: LetterRip 2.0.1 by Fog City Software, Inc. List-Subscribe: List-Unsubscribe: In response... Many many individuals contributed a wad of certs to reach the number you have seen. Scott Kalman --- On Mon, 26 Jan 1998 11:43:44 -0500 (EST) Gregory Bernath wrote: A quick question: where does everyone get all this money? I mean, I've played about 80 events. Between all my characters, they've scraped up about 25,000 gp. Meanwhile, there are people running around out there with millions of gp. Yep, millions. Just how does one end up with millions? Back in the Jurassic age, did modules hand out gold by the ton? Greg Bernath gbernath@oucsace.cs.ohiou.edu -----------------End of Original Message----------------- #!/usr/local/bin/perl # # Copyright 1998 James A. Hart, Bates College, Lewiston, Maine, USA # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ # #------------------------------------ # Majordomo to LWGate database loader. #------------------------------------ # # Reads from stdin the mail message returned from the 'list' command and # creates the lwgate.dat file #**Note that I said "creates" the file. The purpose of this program is # automate the administration of the lwgate.dat file. If you make # manual changes to the lwgate configuration, running this program will # destroy them. #** #------------------------------------ # Configure here #------------------------------------ # $basepath =3D '/usr/local/majordom/Lists/'; $owners =3D 'Jim Hart,jhart@bates.edu'; $domain =3D '@abacus.bates.edu'; $majordomo =3D 'majordomo@abacus.bates.edu'; #-------------------------------------------- $[ =3D 1; # set array base to 1 $, =3D ' '; # set output field separator $\ =3D "\n"; # set output record separator $, =3D ','; while (<>) { chop; # strip record separator # find the list of lists within the mail message if ( $foundstart =3D=3D 0 ) { if ( /^>>>> lists/ ) { $foundstart =3D 1; } next; } else { if ( $foundstart < 3 ) { $foundstart +=3D 1; next; }} # check for all done; first blank line means end of list if ( $_ eq "" ) { exit; } s/"//g; # clear out the quotes s/^ +//; # get rid of the leading spaces s/ +/\t/; # put in the tab = @Fld =3D split(' ', $_, 9999); $listname =3D $Fld[1]; $listtitle =3D $Fld[2]; # get the description from the .info file $descfile =3D $basepath . $Fld[1] . '.info'; $descr =3D ""; while (($_ =3D &Getline2($descfile),$getline_ok)) { $descr =3D "$descr $_ |br|"; } # fix up any quotes in the description $descr =3D~ s/"/""/g; # fix any characters that might look like markup $descr =3D~ s//>/g; $descr =3D~ s/\|br\|/
/g; delete $opened{$descfile} && close($descfile); # check to see if there is an archive $archivefile =3D $basepath . $listname . '.archive'; $archivefile =3D "" # Does the directory exist? unless (-d $archivefile); if($archivefile) { ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) =3D stat($archivefile); $operms =3D $mode % 8; $archivefile =3D "" # Is the directory publicly listable= ? unless ($operms % 2 =3D=3D 1); } &Pick('>', 'lwgate.dat') && (print $fh $listname, "\"" . $listtitle . "\"", 'mdomo', $majordomo, '', '', '', "\"$owners\"", $listname . $domain, $majordomo, '"' . $descr . '"', $archivefile, "^archive\\.....\$"); } sub Getline2 { &Pick('',@_); if ($getline_ok =3D (($_ =3D <$fh>) ne '')) { chop; # strip record separator @Fld =3D split(' ', $_, 9999); } $_; } sub Pick { local($mode,$name,$pipe) =3D @_; $fh =3D $name; open($name,$mode.$name.$pipe) unless $opened{$name}++; }