[comp.emacs] perl code to format Directory

merlyn@intelob.intel.com (Randal L. Schwartz @ Stonehenge) (01/27/89)

In article <35090@bbn.COM>, dsill@RELAY-NSWC writes:
| Here's the latest version of my datafile of GNU Emacs Lisp code and
| GNU Emacs modifications that have been posted to one of the
| Emacs-related mailing lists.  The are now over 170 entries.
| 
| In case you missed my December postings, I'm now distributing the
| directory as a datafile.  I previously posted a UNIX shell/awk script
| to produce a report similar to the earlier directories I posted.  If
| you don't have UNIX or a copy of the report generating script, drop me
| a line.
| 
| I've been hoping someone who Lisps would whup up an interface or
| report generator in GNU Lisp, but it hasn't happened yet.  Something
| like lisp-dir-apropos which would pop up a window with formatted info
| about matching entries would be nice, if anyone's listening....

Okay, so it isn't Elisp, but it is 'perl'.  Try the attached code.  It
wants the article saved in "NEWS-lib-list" with *nothing* between the
newsheader and the first entry (like you posted last time! :-).
Appropriate munging will be required to have "perl" located properly
and the filename changed if necessary.

Enjoy.

Randal L. Schwartz, Stonehenge Consulting Services (503)777-0095
on contract to BiiN (for now :-), Hillsboro, Oregon, USA.
ARPA: <@iwarp.intel.com:merlyn@intelob.intel.com> (fastest!)
MX-Internet: <merlyn@intelob.intel.com> UUCP: ...[!uunet]!tektronix!biin!merlyn
Standard disclaimer: I *am* my employer!
Cute quote: "Welcome to Oregon... home of the California Raisins!"

====== cut here ====== no .signature at end (I hope) ======
#!/ba/merlyn/.bin/perl
open(F, "<NEWS-lib-list") || die;

format top =

============== Elisp Code Directory (posted: @<<<<<<<<<<<<<<<<<<<<<) =========
$postdate

.

format stdout =
Name: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... Version: ^<<<<<<<<<<<<...
$name $vers
Description: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... Date: ^<<<<<<<<<<<<<<<...
$desc $date
Contact: ^>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>... (^<<<<<<<<<<<<<<<<<<<...)
$cont $auth

.

while (<F>) {
	last if /^$/;
	next unless /^Date:\s*(\S.+\S)\s*$/;
	$postdate = $1;
}

die if eof(F);

while (<F>) {
	next if /^Name.Author/;
	($name, $auth, $cont, $desc, $date, $vers) = split(/\|/);
	write;
}

wilkes@mips.COM (John Wilkes) (01/28/89)

In article <4090@omepd.UUCP> merlyn@intelob.intel.com (Randal L. Schwartz @ Stonehenge) writes:
>
>Okay, so it isn't Elisp, but it is 'perl'.  Try the attached code.  It

Ah, perl!  Has anybody hacked up a perl-mode for GNU?

-wilkes
-- 
-- work: {decwrl ames pyramid prls}!mips!wilkes  -OR-  wilkes@mips.com