HDTenEightyP/NetNews huggingface dataset:
From: alien@essex.ac.uk ("Adrian F Clark")
Newsgroups: comp.lang.perl
Subject: mail digestifier in Perl?
Date: 13 Apr 92 12:16:56 GMT
Distribution: comp
Organization: University of Essex, UK

Does anyone have a mail digestifier (a program that bundles many mail
messages into a single mail digest) written in Perl?  I currently use
one written in C, which I need to fiddle with; and a Perl one would be
so much easier.

--
 Dr Adrian F. Clark                                   JANET: alien@uk.ac.essex
 INTERNET: alien%uk.ac.essex@nsfnet-relay.ac.uk          FAX: (+44) 206-872900
 BITNET: alien%uk.ac.essex@ac.uk              PHONE: (+44) 206-872432 (direct)
 Dept ESE, University of Essex, Wivenhoe Park, Colchester, Essex, C04 3SQ, UK.
Newsgroups: comp.lang.perl
From: lezz@merlin.dev.cdx.mot.com (Lezz Giles)
Subject: split with quoted strings
Reply-To: lezz@merlin.dev.cdx.mot.com (Lezz Giles)
Organization: Motorola Codex, Canton, MA
Date: Mon, 13 Apr 1992 23:16:43 GMT


I want to split a string into elements, where the initial string may contain
quoted strings, e.g.

   &split(`this "is an" awkward "string"`) ->
               ("this", "is an", "awkward", "string")

I know one way to do it, which is very ugly:

sub split (
    local (@retlist);

    open(CMD, "perl -e 'print join(\"\\n\",\@ARGV), \"\\n\";' @_ |");
    chop(@retlist = <CMD>);
    close(CMD);

    @retlist;
}

in other words use the argument parsing mechanism to parse the string, but this
is slow and ugly - there has to be a better way...

Lezz "no signature" Giles
Newsgroups: comp.lang.perl
From: mab@wdl39.wdl.loral.com (Mark A Biggar)
Subject: Re: Simplifying (optimising) regular expressions
Organization: Loral Western Development Labs
Date: Wed, 8 Apr 1992 16:09:27 GMT

In article <mcook.702486497@mrc.dev.cdx.mot.com> mcook@mrc.dev.cdx.mot.com (Michael Cook) writes:
>garyb@abekrd.co.uk (Gary Bartlett) writes:
>>Does anyone have any standard methods (perhaps similar to De Morgan's rules)
>>for simplifying (perl) regular expressions?
>John Hopcroft and Jeffrey Ullman may be able to help you.  See their
>book _Introduction to Automata Theory, Languages, and Computation_,
>1979, Addison-Wesley.
>They explain how to convert a RE to a Nondeterministic Finite
>Automaton, how to convert that NFA into a Deterministic FA, and then
>how to minimize the FA.  They'll even show you how to convert that DFA
>back into a RE.  It's all very "mechanizable".  But I wouldn't say
>that it's trivial.

Turn's out to not be worth it.  Larry and I looked at doing just that inside
Perl a while ago.  The problem you run into is that the resulting DFA and
its corresponding RE are usually expodentially bigger then the original
NFA and its RE.  In addition DFA's don't handle the \1..\9 stuff very well
as these allow you to right "regular" expressions that match non-regular
languages.  For Example: /(a*)b\1b\1/ matches the language a^nba^nba^n
which is not even context free (You can't even write a YACC grammer for it).
Such patterns can't be handled by a DFA at all.

One thing that might be useful is a prolog like 'cut' metacharacter that
choped out backtracking points in the pattern.  Patterns that contain
a * nested in a * often match very fast but can take forever on a mismatch
because it has to rewind through all the backtrack points to see if any
of the *'s had matches to much.  Being able to say that if we got to this
point in the pattern then furthure backtracking back past this point is 
usuless can speed up the failure case of some patterns enormously.  Larry
thinks that the pattern optimizer code can be taught to automatically insert
cuts in the right places, but I think that may be an undecidable problem
and have asked at least twice of an explicit 'cut' metacharacter.

--
Perl's Maternal Uncle (he's married to my sister Gloria)
Mark Biggar
mab@wdl1.wdl.loral.com


Newsgroups: comp.lang.perl
From: scott@statsci.com (Scott Blachowicz)
Subject: Re: How to 'officially' use packages?
Reply-To: scott@statsci.com
Organization: Statistical Sciences, Inc., Seattle, WA USA
	<1992Apr2.132621.817@pronto.mh.nl>
	<1992Apr2.165215.1727@news.eng.convex.com>
	<1992Apr3.071716.1736@pronto.mh.nl>
Date: Mon, 6 Apr 1992 17:20:14 GMT

Regarding Re: How to 'officially' use packages?; jv@mh.nl (Johan Vromans) writes:
> ...
> First of all, I think it is a very bad habit to depend on global
> variables at all. However, in some situations (like 'getopt' and
> family) it is unavoidable since you don't known what variables are
> going to be set.
I wouldn't say "unavoidable" for that example. It seems associative arrays
could be used for the "don't know what variables are going to be set" case.
So, you could do something like this:

   %opts = &getopts ('vf:');
   $file = $opts{'f'} ? $opts{'f'} : "default.file";
   $verbose = $opts{'v'};

Or you could use packages as a way to get an "associative array", but mixing
the variable types in the "array".

   &getopts ('vf,');    # Maybe allow multiple -f options?
   @files = $GetoptsPack'f ? $GetoptsPack'f : ("default.file1", "default.file2");
   $verbose = $GetoptsPack'v;

Now, I'm not that familiar with using packages...this just occurred to me
while I was writing this message.

--
Scott Blachowicz    USPS:  Statistical Sciences,  Inc    Ph: 206/283-8802 x240
                             1700 Westlake Ave N #500   FAX: 206/283-8691
E-Mail: scott@statsci.com      Seattle, WA USA  98109
..or..  uunet!statsci!scott
..or..  scott%statsci.uucp@coco.ms.washington.edu
Newsgroups: comp.lang.perl
From: mab@wdl39.wdl.loral.com (Mark A Biggar)
Subject: Re: split with quoted strings
Organization: Loral Western Development Labs
Date: Tue, 14 Apr 1992 15:58:09 GMT

In article <1992Apr14.155227.19810@wdl.loral.com> mab@wdl39.wdl.loral.com (Mark A Biggar) writes:
>In article <1992Apr13.231643.26109@merlin.dev.cdx.mot.com> lezz@merlin.dev.cdx.mot.com (Lezz Giles) writes:
>>I want to split a string into elements, where the initial string may contain
>>quoted strings, e.g.
>>
>>   &split(`this "is an" awkward "string"`) ->
>>               ("this", "is an", "awkward", "string")
>
>The following should do it:

OOPS, Forgot a line (see below)

>sub split {
>	local($_) = @_;
>	local(@tmp) = ();
>	while (length $_) {
>		s/^\s*//;
>		s/^"([^\\"]*(\\.[^\\"]*)*)"// && do {
>			push(@tmp, $1);
>			next;
>		};
>		s/^\S+// && do {
>			push(@tmp, $&);
>			next;
>		};
>	}

	return @tmp;

>}

--
Perl's Maternal Uncle
Mark Biggar
mab@wdl1.wdl.loral.com

Newsgroups: comp.lang.perl
From: mab@wdl39.wdl.loral.com (Mark A Biggar)
Subject: Re: sprintf problems
Organization: Loral Western Development Labs
Date: Mon, 13 Apr 1992 22:43:22 GMT

In article <1992Apr13.214017.9723@unilabs.uucp> chare@unilabs.uucp (Chris Hare) writes:
>I have a program which is very data driven.  I read a user supplied
>configuration file which is used to describe the file which I am about to 
>transform.
>The input side is Ok, but the output definition may involve padding or
>truncatiing.  The length of the field is provided for in an array,
>	$OutputFieldLength[$FieldNum]
>How do I get the value of this element into an sprintf string, so that my
>field is of the appropriate width?
>	$Text = eval" sprintf( '%$lens', $value );";
>Doesn't seem to work.  If it is suppossed to, then I'll go back and make
>sure again I have all of the variables stuffed with the values I think they
>are.
Assuming (if I understand your example) you have already done

$len = $OutputFieldLength[$FieldNum];

the the following should work:

$Text = sprintf("%${len}s", $value);

no eval is necessary.  If your going to execute the sprintf frequently it is
a good idea to assign the format string to a variable first so the ""
variable interpretation only happens once.

--
Perl's Maternal Uncle
Mark Biggar
mab@wdl1.wdl.loral.com


Newsgroups: comp.lang.perl
From: klarenbe@chx400.switch.ch (Paul Klarenberg)
Subject: getting CAMEL book: where, price, etc.?
Organization: SWITCH
Date: Wed, 8 Apr 1992 15:40:59 GMT

Hi hackers,

Please allow me 1 FAQ before the camel book answers all the questions: 
what book is this (title, author, ISBN, publisher, price)? 

Thanks in advance,

Just Another Perl Novice
Newsgroups: comp.lang.perl
From: Tom Christiansen <tchrist@convex.COM>
Subject: Re: novice q: finding unique words in a list
Originator: tchrist@pixel.convex.com
Reply-To: tchrist@convex.COM (Tom Christiansen)
Organization: CONVEX Realtime Development, Colorado Springs, CO
Date: Tue, 14 Apr 1992 17:16:52 GMT
X-Disclaimer: This message was written by a user at CONVEX Computer
              Corp. The opinions expressed are those of the user and
              not necessarily those of CONVEX.

From the keyboard of drw@kronecker.mit.edu (Dale R. Worley):
:In article <1992Apr10.230915.3918@cs.ruu.nl> henkp@cs.ruu.nl (Henk Penning) writes:
:   Also, even a one-line sort would not be an argument for removing sort.
:   It is clear that 'sort' should be a primitive in Perl.
:
:Eh?  Why is it "clear" that sort should be a primitive?  I've always
:considered the ability to perform an operation with a short section of
:code one of the principle reasons that the operation should *not* be
:primitive.  (There are, of course, reasons that can override this,
:mostly frequency-of-use and clarity questions.)

Sort should be a primitive for two reasons: speed and convenience. 

You want to be able to get at the C qsort() function without
coding it in perl.  It's also much nicer to be able to write
something like this:

    @x = sort @y;
or
    @x = sort {$b <=> $a;} @y;

Than to code up your own version every time.  Perl is a very high
level language, so it's ok to have very high level constructs.

--tom
From: gnb@duke.bby.oz.au (Gregory N. Bond)
Newsgroups: comp.lang.perl
Subject: Re: Randal's sigs...
Date: 15 Apr 92 04:03:44 GMT
	<RWK.92Apr14094845@taunton.crl.dec.com>
	<1992Apr14.141842.15750@tc.cornell.edu>
Organization: Burdett, Buckeridge & Young, Melbourne, Australia

The all-time best .sig was one Larry put out about 18 months ago.
Basically, it grepped through /usr/spool/news/comp/lang/perl/*, found
one of Randall's posts, extracted the lines just before the "-- \n"
signature separator, then eval'd them.  

Pure genius.
--
Gregory Bond <gnb@bby.oz.au> Burdett Buckeridge & Young Ltd Melbourne Australia
"Take my archetypes - please!" - Henny Jungman (geoffm@purplehaze.Corp.Sun.COM)
Newsgroups: comp.lang.perl
From: Tom Christiansen <tchrist@convex.COM>
Subject: Re: sorting records
Originator: tchrist@pixel.convex.com
Reply-To: tchrist@convex.COM (Tom Christiansen)
Organization: CONVEX Realtime Development, Colorado Springs, CO
Date: Tue, 14 Apr 1992 17:28:23 GMT
X-Disclaimer: This message was written by a user at CONVEX Computer
              Corp. The opinions expressed are those of the user and
              not necessarily those of CONVEX.

From the keyboard of sherman@unx.sas.com (Chris Sherman):
:Yo Perl Dudes,
:
:I have a question about sorting...
:
:How does one sort records based on a value that can occur in more than
:one record?
:
:Here is an example: Suppose I want to find every word in a file, and sort
:by word length, and print the words with their lengths, largest to
:smallest. 
:
:There may be maybe 1500 words, but only about 60 values associated with
:those words, so there will be duplicate values.
:
:while (<words>)     # assume one word per line for now
:{
:  $words{$word} = length($word);
:}
:
:Now what do you do?
:
:print sort values %words?  Not.  There is no way to get the word back.
:
:In C when I do sorting like this, I swap structure pointers, so all the
:values in the structure get 'moved', not just the value being sorted.
:
:One why I did come up with is the following.  This will find all
:the words, multiple words per line.  Then it puts the length value and word
:into one string, length first, and does a normal numeric sort, and prints.
:
:#!/usr/local/bin/perl
:undef $/;
:$* = 1;
:foreach (split(" ",<>))
:{
:  push(@words,length($_)." ".$_);
:}
:$/="\n";
:print join("\n",sort {$b <=> $a;} @words);
:
:
:Is there a better way?

How about this way?  No need to store the lengths.  

    while (<>) { for (split(' ')) { $words{$_}++; } } 
    for (sort {length($b) <=> length($a);} keys %words) {
	printf "%3d %s\n", length, $_;
    } 

If for some reason you wanted to store the lengths separately,
which you might want to do if you were dealing with an attribute
that were more costly to compute than mere length, you could 
try this approach:

    while (<>) {
	for (split(' ')) {
	    $words{$_}++;
	    $lengths{$_} = length;
	} 
    } 

    for (sort { $lengths{$b} <=> $lengths{$a}; } keys %words) {
	printf "%3d %s\n", length, $_;
    } 

:ps.  On a side note, what is better:  'reverse sort' or 'sort {$b <=> $a}'?

reverse sort will be cheaper, but doesn't give the same thing.  These two
are functionally equivalent:

    1) @x = reverse sort @y;
    2) @x = sort {$b cmp $a;} @y;

as are these

    3) @x = reverse sort {$a <=> $b;} @y;
    4) @x = sort {$b <=> $a;} @y;

But 1 is not the same as 4.  As for timings, try them and see what
you get.  #1 should be the fastest.

--tom
From: hai@hpfcso.FC.HP.COM (Hai Vo-Ba)
Date: Tue, 14 Apr 1992 16:28:14 GMT
Subject: Re: Problem compiling perl on hp9000/730 running hp-ux 8.05
Organization: Hewlett-Packard, Fort Collins, CO, USA
Newsgroups: comp.lang.perl

In comp.lang.perl, moconnor@pms704.pms.ford.com (Mike O'Connor) writes:

> In article <9204121040.AA19923@menora.weizmann.ac.il> dov@menora.weizmann.ac.il (Dov Grobgeld) writes:
> 
> :I have tried to unsuccesfully tried to compile perl on our new
> :hp9000/730 running hp-ux 8.05.
> :
> :I ran the Configure script, chose hpux for default values, accepted all
> :values, ran makedepend, and then make.
> :
> :Compilation goes smoothly, except a couple of warnings of the form
> :
> :  cc: Optdriver 2003 basic blocks; defaulting to level 1 optimization.
> :  Use +Obb<num> with num >= the number given in this message. (6059)
> :
> :on some modules.
> 
> Help is on the way.
> 
> Under HP-UX 8.05, you have two solutions:
> 
> 1.  Compile in debug mode (cc -g)
> 2.  Upgrade to HP-UX 8.07

      I compiled versions 4.010 as well as 4.019 on a 9000/720 with -O flag
    under HPUX 8.05 and 8.07 using HP malloc and Perl passed all tests. Didn't
    do anything special to get it to work.

----
Hai  Vo-Ba                              (303)229-3874
STD/ESL  MS55          			hai@fc.hp.com
Hewlett Packard Co.
3404 E. Harmony Rd.
Fort Collins, Colorado 80525-9599
Newsgroups: comp.lang.perl
From: Andrew Hardie <ash@omega.uucp>
Subject: 4.019 under SCO 3.2R4
Reply-To: ash@omega.uucp
Organization: The Internet
Date: Thu, 16 Apr 1992 19:01:46 GMT


Anybody worked out the correct incantation to get perl 4.019 to make
and run properly under SCO 3.2 R4?
I get the "egrep regular expression too long"
and the binaries fail three of the tests.
Thanks
-- 
+----------------------------------------------------------------------------+
| Andrew Hardie                                               ash@omega.uucp |
| London, England                                      uknet!cctal!omega!ash |
+----------------------------------------------------------------------------+
From: lwall@netlabs.com (Larry Wall)
Newsgroups: comp.lang.perl
Subject: Re: Usub and packages
Date: 10 Apr 92 01:57:17 GMT
Organization: NetLabs, Inc.

In article <DRW.92Apr2151644@kronecker.mit.edu> drw@kronecker.mit.edu (Dale R. Worley) writes:
: It seems to me that it would be a win if user-added C routines could
: be added in a package other than main.  For instance, in curseperl,
: the screen refresh routine is &main'refresh rather than
: &curses'refresh, which would make a lot more sense.

You can do that already.  Just use the name curses'refresh where it
currently uses refresh.  The stabent() routine figures all this out for
you.

Larry
Newsgroups: comp.lang.perl
From: nagel@Cigna.COM (Mark Nagel)
Subject: Re: why does this leak?
Organization: CIGNA FIRST, Irvine, CA
Date: Fri, 17 Apr 1992 13:39:43 GMT

In <1992Apr16.200025.3315@news.eng.convex.com> Tom Christiansen <tchrist@convex.COM> writes:

>From the keyboard of nagel@Cigna.COM (Mark Nagel):

>:	for $re (@ignore) {
>:	    return if eval("\$s =~ /$re/");
>:	}

>Shooting from the hip, maybe try

> 	for $re (@ignore) {
> 	    return if $s =~ /$re/;
> 	}

>I'm not convinced that eval always cleans up everything properly, even
>when it succeeds.

Hmm.  I'll try that.  I think at one time the expression in there
was a lot more complex and I just forgot to get rid of the eval when
I simplified the expression.

>BTW, if speed were an issue, this could be made faster by creating a subr
>on the fly built of all the re's and eval'ing it to create it just once,
>then calling it normally when needed.

Would I be able to redefine the subroutine when the set of
expressions is changed in the control file?

-- 
Mark Nagel
  Network Administrator                 UUCP: {uupsi,ucivax}!cigna!nagel
  CIGNA FIRST                           INET: nagel@cigna.com

Newsgroups: comp.lang.perl
From: chare@unilabs.uucp (Chris Hare)
Subject: Help with SIG{'ALRM'}
Organization: None: Just Me, Chris Hare
Date: Wed, 15 Apr 1992 02:05:22 GMT

I have a program in which I want to use the alarm call and have it perform
a specific function.  However, I need to be sensitive to a couple of
things:

	1 - this is a curseperl program, so I need to be sensitive to when I am
	updating the screen so that operation is not interrupted.

	2 - I would like to return to the place the code was at when the signal
	was received.


	Is this possible, and how do I do it?

	Thanks for the help.

-- 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Chris Hare				UUCP : uunet.ca!choreo!unilabs!chare
SCO Authorized Instructor		Choreo Systems Inc., Ottawa Canada
*** STANDARD DISCLAIMER APPLIES ***	DOMAIN: chare@choreo.ca
From: ccechk@nuscc.nus.sg (Heng Kek)
Newsgroups: comp.lang.perl
Subject: The '$.' variable: misleading.
Date: 7 Apr 92 06:48:58 GMT
Article-I.D.: nuscc.1992Apr7.064858.10841
Organization: National University of Singapore

It appears (after some testing) that the '$.' variable doesn't
really return the current line number.  It seems to be counting
newline chars rather than give the absolute line number.  I
discovered this with the following testcode:

while(<infile>){
	if(/$pattern/){
		print "cur line num is = $.\n";
		seek(infile, -40, 1); #'rewind 40 chars from current
	}
}

Where '40' is sufficient to place the file pointer before
$pattern.  The result is: the current line number printed keeps
increasing when one would expect it to be the same.

Any comments on this?  Also, is there an existing function to
'rewind' a file by 'x' lines (instead of chars)?

Sincerely
Kek
Newsgroups: comp.lang.perl
From: flee@cs.psu.edu (Felix Lee)
Subject: Re: The Perl Module System
Organization: Penn State Computer Science
Date: Mon, 6 Apr 1992 09:56:31 GMT

I wrote:
>I'm still wondering if what I've done is unspeakably evil.

Yes, it is.  Perl uses a combination of early binding and late
binding that has unnatural effects when you switch packages around
behind its back.

The worst surprises happen with variable interpolation in double
quoted strings.  Double quoted strings get parsed and compiled the
first time they're used, which binds variables to whichever (dynamic)
package definitions are in effect at the time, after which it stays
bound to those.  Below are a couple examples.

The problem could be fixed if Perl were taught about module/package
renaming internally.
--
Felix Lee	flee@cs.psu.edu

# program 1: produces:
#	pi = 3.14..
$m'pi = 'apple';
&'import('m:math', <<\END);
	print "pi = $m'pi\n";
END

# program 2: produces:
#	pi = apple
#	pi = apple
$m'pi = 'apple';
&'import('m:math', <<\END);
	sub a { print "pi = $m'pi\n"; }
END
&a();
&'import('m:math', <<\END);
	&a();
END

# program 3: produces:
#	pi = 3.14..
#	pi = 3.14..
$m'pi = 'apple';
&'import('m:math', <<\END);
	sub a { print "pi = $m'pi\n"; }
	&a();
END
&a();

# program 4: produces:
#	pi = 3.14..
$m'pi = 'apple';
&'import('m:math', <<\END);
	sub a { print "pi = ", $m'pi, "\n"; }
END
&a();

# program 5: produces:
#	pi = apple
$m'pi = 'apple';
&'import('m:math', <<\END);
	sub a { eval q!print "pi = $m'pi\n"!; }
END
&a();

# program 6: produces:
#	pi = 3.14..
#	pi = 3.14..
$m'pi = 'apple';
&'import('m:math', <<\END);
	sub a { eval q!print "pi = $m'pi\n"!; }
	&a();
END
&a();

# program 7: produces:
#	pi = 3.14..
#	pi = apple
$m'pi = 'apple';
&'import('m:math', <<\END);
	sub a { $a = 'print'; eval $a . q! "pi = $m'pi\n"!; }
	&a();
END
&a();
Newsgroups: comp.lang.perl
From: Tom Christiansen <tchrist@convex.COM>
Subject: Re: Looking for Perl archive site
Originator: tchrist@pixel.convex.com
Reply-To: tchrist@convex.COM (Tom Christiansen)
Organization: CONVEX Realtime Development, Colorado Springs, CO
Date: Thu, 9 Apr 1992 17:43:57 GMT
X-Disclaimer: This message was written by a user at CONVEX Computer
              Corp. The opinions expressed are those of the user and
              not necessarily those of CONVEX.

From the keyboard of brunson@epas.utoronto.ca (Barbara Brunson):
:What happened to the Perl archives that were at convex.com?
:There was a large archive of Perl programs, articles, etc., 
:there a couple of months ago, and now it has all disappeared.
:
:Is there another site that has the same sort of ftp archive
:that convex.com had?

It got accidentally nuked, and the restore tapes are nearly
a thousand miles away from me, so I'm experencing some delays
getting them restored.  I think uunet and ohio state had mirrors.

--tom
Newsgroups: comp.lang.perl
From: braven@rx.xerox.com (Brian F Raven)
Subject: Re: looking for a C parser
Reply-To: braven@rx.xerox.com
Organization: Rank Xerox Ltd.
Date: Thu, 9 Apr 1992 19:15:14 GMT

In article 702688464@mrc.dev.cdx.mot.com, mcook@mrc.dev.cdx.mot.com (Michael Cook) writes:
>Does anyone have a Perl program that can parse ANSI C source?  In
>particular, I'm interested in being able to determine where symbols
>are defined, and where where they are used.
>-- 
No, but you could try berkeley-yacc-with-perl-diffs (ftp from gatekeeper.dec.com in /.3/plan/perl according to archie) to generate a perl parser. Also, see c++.tar.Z (ftp from ic.berkeley.edu in /pub/grammars, again, according to archie) which contains yacc grammars for both ANSI C and C++.
From: dvand@ctp.com (Derek Vandivere)
Newsgroups: comp.lang.perl
Subject: Re: Converting Perl to x
Date: 7 Apr 92 13:47:33 GMT
Article-I.D.: ctp.1992Apr7.134733.16894
Organization: Cambridge Technology Partners

In article <1992Mar31.123903.19397@micromuse.co.uk> peter@micromuse.co.uk (Peter Galbavy) writes:
>> Why not just compile perl?  It's free, and trivial to build on most
>> platforms.  You can even leave it behind when you're done, and hope
>> they See The Light :-)
>> 
>> 		Marc
>
>In my own cynical way, I suspect the reason for people wanting pl2c is
>so that anything they write can be compiled, and the source made
>unavailable. Is this is the case why don't they just use dump/undump
>??? 

Actually, I want pl2c because we spent a day trying to get Perl to compile
on an old ncr tower with no luck.  The problem:  we do work on a *big*
range of boxes, often (usually) with little or no lead time.  So, I figured
C source (or awk/nawk/sed) would be better in this case.  Oh, well...
-- 
-------------------------------------------------------------------------------
|Derek A. Vandivere           |dvand@ctp.com|      This space unintentionally |
|Cambridge Technology Partners|(617)349-1278|            left blank.          |
-------------------------------------------------------------------------------