[8029] in Perl-Users-Digest
Perl-Users Digest, Issue: 1654 Volume: 8
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Jan 16 12:17:40 1998
Date: Fri, 16 Jan 98 09:00:25 -0800
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Fri, 16 Jan 1998 Volume: 8 Number: 1654
Today's topics:
Calling Perl for Win32 from Visual Basic 5.0 "us,ppp,marcelg"@popd.ix.netcom.com
can you attach a password <potts@hc.ti.com>
Re: CC from a perl (mail script) (Clay Irving)
Re: Cost of a 3 day Perl training course (Will Morse)
Re: Debugger?? (Andrew M. Langmead)
Re: Efficiency: for high number indicies, use array or (I R A Aggie)
Re: GDBM module (M.J.T. Guy)
HELP !! <wbpatto@wmccmsvr.ssr.hp.com>
help!!! <FangH@CTIcallCenter.Com>
inverse cosine? <msda+@andrew.cmu.edu>
Looking for a c++ parser. <LE-GOATER_Cedric@stna.dgac.fr>
Re: overzealous -w or is my brain dead? [1/1] (Clay Irving)
Parsing SQL server dumps. <bkiefer@hollandhart.com>
Re: perl -- a language for LEARNING programming? (Ken)
Re: Perl dies with segmentation fault and leaves a core (Andrew M. Langmead)
Re: Perl dies with segmentation fault and leaves a core <eryq@zeegee.com>
Problem running HTML Processor script (Terry Lecander)
Re: Problems installing perl5.004_01 on HPUX10.20 <smitherz@bellsouth.net>
Re: Quick Perl tutorial? (Will Morse)
Re: Reg Expression, Case change of memory variables <tchrist@mox.perl.com>
Re: Sorting question (Sort of..:-) (Sheldon)
Re: source into binary code <dboorstein@ixl.com>
Re: source into binary code <ajohnson@gpu.srv.ualberta.ca>
Re: source into binary code (I R A Aggie)
system call from within a cgi script <sherman@cdg.stsv.seagate.com>
Re: Temporary or Internal Files or Dummy Filehandles (Andrew M. Langmead)
Using SetUID matthew@ukonline.co.uk
Wanted: generic macro/include pre-processor (Peter Davis)
Digest Administrivia (Last modified: 8 Mar 97) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Fri, 16 Jan 1998 11:36:36 -0500
From: "us,ppp,marcelg"@popd.ix.netcom.com
Subject: Calling Perl for Win32 from Visual Basic 5.0
Message-Id: <34BF8C94.332D@popd.ix.netcom.com>
Does anybody have a suggestion on how to call perl scripts from Visual
Basic 5.0 ? What do I have to consider with regard to program flow
(asynchrone/synchron) ?
Thanks,
------------------------------
Date: Fri, 16 Jan 1998 10:32:50 -0600
From: Toby Potts <potts@hc.ti.com>
Subject: can you attach a password
Message-Id: <34BF8BB2.B49BFF6D@hc.ti.com>
Can you attach a password to a directory or group of directories that
not even root can get into?
--
THANKS
TOBY
TI. Phone (972)995-7296
Fax (972) 995-6194
_/_/_/_/_/ _/_/_/_/ _/_/_/_/ \_ _/ _/_/_/_/
_/ _/ _/ _/ _/ \_ _/ _/ _/
_/ _/ _/ /_/_/ \_ _/ _/_/_/_/
_/ _/ _/ _/ _/ _/ _/
_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/ =
email potts@ti.com
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
"I hope our wisdom will grow with our power, and teach us,
that the less we use our power the greater it will be."
Thomas Jefferson
------------------------------
Date: 16 Jan 1998 10:17:18 -0500
From: clay@panix.com (Clay Irving)
Subject: Re: CC from a perl (mail script)
Message-Id: <69ntlu$tp@panix.com>
In <34BF6C13.93F02B02@dp.dpfinance.nl> Werner <w.vaarwerk@dp.dpfinance.nl> writes:
>Hi all,
>I'm trying to send a carbon copy from my mailscript. Underneeth I'll
>show you my working code now:
>print MAIL "Subject: $mailsub\n";
>print MAIL "From: $mailsender\n";
>?????print MAIL "CC: me@myaddress.com\r\n";????????
>print MAIL "To: $c{mailto}\n";
>print MAIL "X-mailer-disclaimer: Any part of these mail headers may not
>be accurate\n";
>print MAIL "X-URL: ",$ENV{'REFERER_URL'},"\n" if $ENV{'REFERER_URL'};
>Can anyone tell me what I'm doing wrong?
Besides putting all those question marks in your code? :)
Try:
print MAIL "CC: me\@myaddress.com\r\n";
You have to escape the "@".
--
Clay Irving <clay@panix.com> I think, therefore I am. I think?
http://www.panix.com/~clay/
------------------------------
Date: 16 Jan 1998 10:11:08 -0600
From: will@Starbase.NeoSoft.COM (Will Morse)
Subject: Re: Cost of a 3 day Perl training course
Message-Id: <69o0qs$4l8$1@Starbase.NeoSoft.COM>
I don't know if it is reasonable, but I charge $1,250 per day commercial
rate for my 24-contact hour classes. (plus expenses, if any) My classes
are oriented to scientific use of perl (or Unix or X with Tcl/Tk),
not web/cgi. Most commercial clients want to spread the class to four
six-hour days.
You can also take the course at night at North Harris College for $340
per person (Monday and Wed night for five weeks.)
Will
In article <69mkfd$4rg$1@agnostic.ebb.org>,
Bradley M. Kuhn <bmk@agnostic.ebb.org> wrote:
>
>What is the reasonable cost (per day) if a company wants to bring in a Perl
>trainer (to teach the language basics) to a group of 20-30 people for 3 days
>or so?
>
>I realize that it depends on the experience of the trainer. Obviously,
>getting tchrist@mox.perl.com or merlyn@Stonehenge.com is not so cheap, but
>what would someone with good Perl skills and reasonable training skills (as
>opposed both excellent training and Perl skills) cost per day?
>--
> * Bradley M. Kuhn *
> * The address in the From: line above will send an autoreply with my *
> * real email address. Or, check out my WWW site at: *
> * http-colon-slash-slash-www-dot-ebb-dot-org-slash-bkuhn *
--
# Copyright 1997 Will Morse. Internet repost/archive freely permitted.
# Hardcopy newspaper, magazine, etc. quoting requires permission.
#
# Gravity, # Will Morse
# not just a good idea, # Houston, Texas
# it's the law. # will@starbase.neosoft.com
#
# These are my views and do not necessarly reflect anyone else/
=========================================================================
By US Code Title 47, Sec.227(a)(2)(B), a computer/modem/printer
meets the definition of a telephone fax machine. By Sec.227(b)
(1)(C), it is unlawful to send any unsolicited advertisement to
such equipment, punishable by action to recover actual monetary
loss, or $500, whichever is greater, for EACH violation.
=========================================================================
------------------------------
Date: Fri, 16 Jan 1998 16:03:53 GMT
From: aml@world.std.com (Andrew M. Langmead)
Subject: Re: Debugger??
Message-Id: <EMvwMH.920@world.std.com>
"Scott Norris" <777snorris@post.cis.smu.edu> writes:
>1> Is there a perl debugger program?? for Windows??
Yes, all versions fo perl , including the windows ports include a
debugger. You activate it by running perl with the "-d" switch.
See the perldebug man page for details. (On windows, this is a file
called "perldebug.html" in this "docs" directory.)
--
Andrew Langmead
------------------------------
Date: Fri, 16 Jan 1998 10:59:00 -0500
From: fl_aggie@thepentagon.com (I R A Aggie)
Subject: Re: Efficiency: for high number indicies, use array or hash?
Message-Id: <fl_aggie-1601981059000001@aggie.coaps.fsu.edu>
In article <34c05bbe.3001135865@news.mmc.org>, drummj@mail.mmc.org wrote:
+ I've got to be missing something here, knowing how far down the "Perl
+ perfection" scale I am, but it seems to me you don't have to waste any
space at
+ all, assuming your invoice numbers are otherwise consecutive and your starting
+ invoice number is 100000. Why not:
+
+ $index = $invoice_num - 100000;
+ $invoice_data = $invoices[$index];
There's More Than One Way To Do It. But to a certain extent, using a
hash becomes somewhat easier and possibly more intuitive:
$invoice_data=$invoices{$invoice_num};
One less step, one less calculation, one less thing to go wrong or be
forgotten. Presuming, of course, that all $invoice_num are unique... :)
James
--
Consulting Minister for Consultants, DNRC
The Bill of Rights is paid in Responsibilities - Jean McGuire
To cure your perl CGI problems, please look at:
<url:http://www.perl.com/perl/faq/idiots-guide.html>
------------------------------
Date: 16 Jan 1998 16:19:10 GMT
From: mjtg@cus.cam.ac.uk (M.J.T. Guy)
Subject: Re: GDBM module
Message-Id: <69o19u$g$1@lyra.csx.cam.ac.uk>
In article <884923363.559567@thrush.omix.com>, Zenin <zenin@best.com> wrote:
>Lou Avrami <L.Avrami@dialogic.com> wrote:
> >snip<
>: Do I now need to reinstall/recompile perl itself, in order to
>: include the module?
>
> Nope, just the GDBM Module. You will however, need the perl
> source again to do it. Unpack the perl source, go into the
> ext/GDBM_File directory within it, and run:
>
> perl Makefile.PL
> make
> make test
> make install
>
> You may also be able to find the package by itself at CPAN, and
> if so it would be under CPAN/modules/by-module/GDBM_File, but I
> think I remember not finding it there by itself for some reason.
Although that's basically right, there's one small wrinkle that might
conceivably trip you up. That's that the Perl configuration
(Config.pm) will still think that GDBM isn't supported. However,
most modules which need GDBM find whether it is there by attempting
to "use" it and trapping any failure. So in practice it will probably
work OK.
Mike Guy
------------------------------
Date: Fri, 16 Jan 1998 08:47:12 -0600
From: Wayne Patton <wbpatto@wmccmsvr.ssr.hp.com>
Subject: HELP !!
Message-Id: <34BF72F0.5A46@wmccmsvr.ssr.hp.com>
I have what appears to be a simple problem but I cant figure it out. I
have the following data file:
a|b|c|d|e|f|g
Text file with fields delimited by "|". My code so far:
================================
#!/usr/local/bin/perl
#
$Efile="/usr/local/data/exception.data";
unless (open (In,"<$Efile"))
{
die "Could not open $Efile\n";
};
while (<In>) {
chop($_);
@Fields=split "\|" ;
print "$Fields[0]\n";
}
close(In);
======================================
The problem: It wont split on the "|" How do I split on "|" ???
--
---------------
Wayne Patton, Email: wbpatto@wmccmsvr.ssr.hp.com
------------------------------
Date: 16 Jan 1998 16:07:45 GMT
From: "Fang Hu" <FangH@CTIcallCenter.Com>
Subject: help!!!
Message-Id: <01bd2297$cfef1440$58c8c8c8@cti40>
I have installed perl 5 to my digital Alpha Windows NT 4.0 Server and if I
try to run the
simple program, I got error message: cannot find the win32! The program is
a copy
of the book "Learning Perl on Win32 Sytem" by Randal L. Schwartz...
use Win32::Process;
Wind32::Process::Create($Process,
"c:\winnt\system32\notepad.exe",
"notepade",
0,
DETACHED_PROCESS,
".") || die "Create: $!";
When I run this small program on windows95 ( I changed the path for the
notepad.exe)
I got different error message about my syntax error!
Please give me helps, Experts!!!
Thank you!
Frank
------------------------------
Date: Fri, 16 Jan 1998 11:02:08 -0500
From: Michael D Sohn <msda+@andrew.cmu.edu>
Subject: inverse cosine?
Message-Id: <0ojsG0200YUd02MOM0@andrew.cmu.edu>
Is there a command or an easy way of getting the inverse cosine?
thanks,
Mike
------------------------------
Date: Fri, 16 Jan 1998 18:25:46 +0100
From: Cedric Le Goater <LE-GOATER_Cedric@stna.dgac.fr>
Subject: Looking for a c++ parser.
Message-Id: <34BF9819.41C6@stna.dgac.fr>
Hello,
I'm looking for an example of a PERL script capable of
analyzing C++ class headers.
The purpose is to extract the class methods and attributes
in order to produce the class documentation in a intermediate
language.
example:
Canal.h
----------------------------------------------------------
class Canal
{
protected:
int fd;
public:
Canal(void) : fd(-1) {}
// Constructor
}
Output:
----------------------------------------------------------
class "Canal"
{
{ Attribute
{ Name "fd" }
{ IsClass False }
{ Privilege Protected }
{ IsConst False }
{ Type "int" }
}
}
{ Operation
{ Name "Canal" }
{ IsClass False }
{ Privilege Public }
{ IsConst False }
{ Description "Constructor" }
{ ArgsString "void" }
{ CtorInitList "fd(-1) " }
{ IsAbstract False }
{ IsInline False }
{ IsVirtual False }
{ ReturnType "" }
}
}
----------------------------------------------------------
I guess some one has already done such a script and maybe I
could get some PERL inspiration from it.
Thanks a lot.
--
Cedric LE GOATER Civil Aviation
LE-GOATER_Cedric@stna.dgac.fr PHIDIAS Project
------------------------------------------------------------------
"Ne libre, j'entends vivre librement!!" Hugo Pratt
------------------------------
Date: 16 Jan 1998 10:15:27 -0500
From: clay@panix.com (Clay Irving)
Subject: Re: overzealous -w or is my brain dead? [1/1]
Message-Id: <69ntif$rb@panix.com>
In <JHoCCCAAg2v0Ewwj@leofric.demon.co.uk> Sam Sexton <Sam@leofric.demon.co.uk> writes:
>I've stared at the code below until I'm blue in the face (not a pretty
>sight!), but for the life of me I can't see why -w complains about an
>uninitialised variable; both $is_here and $is_there are set just on
>lines 72 and 73 just before the if; so I don't see how I can get to the
>corresponding else without having done the initialisation! Can anyone
>else? I've annotated the interesting places with their line nos.
[...]
>begin 644 create
>M(R$O=7-R+VUB+U-U;D]38FEN+W!E<FP@+7<@(R!R96EN<W1A=&4@=&AI<R!F
[...]
I see the problem! Some rascal converted your Perl code to a uuencoded
mess o' characters.
(maybe you'd want to repost your code in a readable form)
--
Clay Irving <clay@panix.com> I think, therefore I am. I think?
http://www.panix.com/~clay/
------------------------------
Date: 16 Jan 1998 16:36:00 GMT
From: "b kiefer" <bkiefer@hollandhart.com>
Subject: Parsing SQL server dumps.
Message-Id: <01bd229d$2cc108e0$1c1c2f81@bkiefer.hh.com>
SQL server can output to a file, but the file is 80 characters wide (or any
width you specify).
Whats the best way to find the end of the text and the beginning of the
white space?
I know something like:
s/\W.*//
will replace anything after the first word with nothing, but I would like
to kill the white space and maintain the new line.
i.e.,
34567;ClientName;8901;MatterName; {--white space to 80 characters--}
12345;ClientName;6789;MatterName; {--white space to 80 characters--}
{etc}
thanks
be
------------------------------
Date: Fri, 16 Jan 1998 11:00:40 -0500
From: ken@forum.swarthmore.edu (Ken)
Subject: Re: perl -- a language for LEARNING programming?
Message-Id: <ken-1601981100400001@news.swarthmore.edu>
In article <34bd8ad2.1055207@news.wwa.com>, notsew@wwa.com wrote:
>so i've learned a bit of perl, as i figured it'd be helpful on the job
>and it has been. got the camel book, read some articles, etc. i love
>it.
>
>i've no formal training in programming, but i'm thinking now i'd like
>to take some classes or at least do some reading (classes seem
>generally too slow) in general programming theory -- topics like data
>structures, algorithms, etc. the problem is that most of these
>classes/books seem to presuppose a working knowledge of c and/or c++,
>in neither of which i have any experience. i'm seeking advice on
>this: would it be worth it to back up and get these languages down,
>despite (a) the suspicion that i'll probably not use them on the job
>-- at least not on my current job (b) having a decent grasp of most
>fundamental programming concepts and (c) having practical experience
>in c/c++ derivatives (perl, java)? again, primarily for purposes of
>further development...
Hi-
I was in somewhat the same boat as you. I learned Perl as my first
programming language (not counting the BASIC I learned when I was 8 or
something, because I forgot it all). Then I tried to learn C and C++. It
has taken me a long time to get proficiency in C, probably much longer
than if I had not known Perl already! In my early stages of learning C,
it seemed to me like a ridiculous language compared to Perl - dealing with
strings was especially maddening. But once I learned how to use
libraries, and got some bearings, things looked up.
There are a couple of other things about knowing C/C++ that are pretty
handy. For one thing, the syntax of some of Perl is based on C++. For
example, the :: in things like &package::function() comes from C++. For
another thing, if you know C, you can write programs for the Macintosh and
use the development environment CodeWarrior, and the application framework
PowerPlant! (I like them... :-)
Programming in C has a very different flavor than programming in Perl. In
C, you feel like you're dealing directly with the guts of the machine -
you can get your hands on actual memory addresses. I generally find this
to be more of a hassle than it's worth, but it does give you a different
perspective on programming. In my opinion, Perl is the "right" way to
program, because the programmer is much more freed from worrying about
memory issues, garbage collection, etc.
Also, learning Perl seems to me to be easier from the get go. For one
thing, Perl's error messages tend to be much more informative than the C
ones I've seen.
I'm thinking of teaching a beginning high school class on programming next
year (if I can convince the school...), and if I do the language will be
Perl, not C. This is mainly because I know it better than C, but also
because I find it less frustrating to learn. Anyway, I'm interested in
following this thread to see what people say.
-Ken Williams
The Math Forum
ken@forum.swarthmore.edu
------------------------------
Date: Fri, 16 Jan 1998 15:43:47 GMT
From: aml@world.std.com (Andrew M. Langmead)
Subject: Re: Perl dies with segmentation fault and leaves a core
Message-Id: <EMvvp1.KCA@world.std.com>
Bob <rwp@omni.ac.uk> writes:
>Is there anything that a user script can do to cause a Segmentation
>fault and core dump, or is it a perl bug?
Besides the dump() operator?
I would think you can do some damage with inappropriate arguments to
syscall(). A commonly found cause is to have a sort subroutine return
inconsistant results.
perl -e 'print sort { 1; } 0 .. 1000'
will cause some versions of the C libraries qsort() to dump core.
If you trace through the program with the debugger, what is the last
line to execute before it dumps core?
--
Andrew Langmead
------------------------------
Date: Fri, 16 Jan 1998 10:35:29 -0500
From: Eryq <eryq@zeegee.com>
To: Bob <rwp@omni.ac.uk>
Subject: Re: Perl dies with segmentation fault and leaves a core
Message-Id: <34BF7E41.175@zeegee.com>
Bob wrote:
>
> Is there anything that a user script can do to cause a Segmentation
> fault and core dump, or is it a perl bug?
It's hard to tell without know what modules you're using.
However...
If you upgraded from Perl5.002 or earlier, you have to rebuild
all your nonstandard extension modules (like the libraries for
GD.pm); I believe that failure to do so could cause this situation.
Also, use of setbuf/setvbuf (?) in IO::Handle must be done
carefully; modifying the buffer string reportedly can cause
memory problems.
A poorly-written extension module can also core.
Just some ideas...
--
___ _ _ _ _ ___ _ Eryq (eryq@zeegee.com)
/ _ \| '_| | | |/ _ ' / President, Zero G Inc: http://www.zeegee.com
| __/| | | |_| | |_| | "Talk is cheap. Let's build." - Red Green.
\___||_| \__, |\__, |___/\ Visit STREETWISE, Chicago's newspaper by/
|___/ |______/ of the homeless: http://www.streetwise.org
------------------------------
Date: Fri, 16 Jan 1998 15:48:02 GMT
From: terry@rednickel.com (Terry Lecander)
Subject: Problem running HTML Processor script
Message-Id: <34bf7d59.24888304@news1.netexpress.net>
I am fairly new a implementing Perl scripts and am no programmer. I am
trying to make use of a script that is ment to insert HTML fragments
into and existing HTML page. The script was written by Carl Davis
"cdavis@interaccess.com" to give credit.
I have been unable to get the script to run successfully on our
server.
I have cut and pasted the example files you included and tried to run
the script with your sample files. I have even tried to include a
'files.in' file. I have also attached the original script in case
there are different versions out.
As far as I can tell from the instructions, it is a command line
process (it is not code that is called through a web browser). This is
what I have done.
In a telnet session I typed the following at the command line in the
same directory as the test.base file.
*****
perl ../cgi_bin/htmlproc.pl test.base
*****
and I get the following error.
***************
/^\b*(\w*)=(.*)/: regexp *+ operand could be empty at
./cgi_bin/htmlproc.pl line 192.
***************
I have played around and found that it will bomb the same 'if'
statement phrased the same way. Here is the snippet of code that it
came from
**** snip *****
186 if (open(CONST, "<$constantfile"))
187 {
188 $verbose && print "--------------\n";
189 while (<CONST>)
190 {
191 next if (/^#/);
192 if (/^\b*(\w*)=(.*)/)
193 {
194 $CONST{$1}=$2;
195
196 $verbose && print "constants:%%$1%% =>
$2\n";
197 }
198 }
199 close(CONST);
200 }
*** snip ****
**** full htmlproc.pl ******
#
# htmlproc.pl Ver 1.2 Carl Davis cdavis@interaccess.com
#
# Copyright 1996 Carl Davis All Rights Reserved.
# http://homepage.interaccess.com/~cdavis/
#
# This program simplifies maintaining multiple pages with similar
# content. It allows files to be included into other files
# and sections to be inclued or excluded when inserting the files
# This program provides much of the functionality which is
# demonstrated by server-side includes, without the performance
# penalty (you are preprocessing before placing on the server).
# See the comments below for the command set. Note: the software
# simply ignore errors and moves on typically. You should validate
# performance by checking the outputs during execution. The
# reason for this is to avoid burdenning the developer with concerns
# such as keeping the input file with only current files, and
# allow them to quickly to "comment" out commands by changing
# a single character.
#
#
# Permission to use, copy, and distribute this software
# and its documentation for NON-COMMERCIAL purposes and without
# fee is hereby granted provided that this copyright notice
# appears in all copies and that a link is provided to the author's
# home page location. Commercial use is allowed as long as the
# the author is notified and given permission to mention the site as
# part of promotion for his own site (in addition to the link
mentioned
# above). In addition, a modest fee is requested if the program is
found
# to be extremely valuable (around $5 USD would be great).
#
# Make checks payable to:
# Carl Davis
# 388 Tee Lane
# Carpentersville, IL 60110
# United States of America
#
# Funds acquired from this distribution will be directly invested in
# future development, and will provide additional incentive for me
# to continue. Please include your name and enhancement requests or
other
# web utilities which may make your life easier.
#
# CARL DAVIS MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE
SUITABILITY OF
# THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
# TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE, OR NON-INFRINGEMENT. CARL DAVIS SHALL NOT BE
LIABLE FOR
# ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
# DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
#
# Revision Log
# Rev Date Description
# --- -------- ------------
# 1.0 09/30/96 Initial version released
# 1.1 10/15/96 Now allows multiple commands on same line, new
feature
# to substitute constants added.
# 1.2 11/05/96 Improved TRAN handling can now do () and $n
substitutions
#
# Usage:
#
# HTMLproc [-ffilename] [-cconstantfile][-v] [-dX] [filelist]
#
# Where: -f defines the input filename with the files to process
# This defaults to files.in.
# -v turns off messages during processing (these are
very
# valuable during debugging).
# -d Sets the delimiter character for the TRAN
statement to 'X'
# filelist is one or more files. Normally filenames are
taken
# from an input file (-f defined, or files.in). This is
# normally useful for controlling order and processing a
# number of files.
# -c defines a file which contains name=value
pairs to substitute
# basically are user defined constants (like program's
%%date%%).
# default is "const.in"
#
# HTML formatting:
# Each file in the specified file is processed in turn and may use
the
# following commands: (note: commands should not span multiple lines
in this
# version of the program)
#
# <!--SAVE="filename"-->
# This specifies the location to saved file (if not used new file
# will simply have .new appended to name. For example:
# <!--SAVE="publish/out.html"--> will name the file out.html and move
it
# to a new directory.
#
# <!--NOHEAD="yes"-->
# This will cause header tags (like body, head, title) to be stripped
from
# files included when processing this file. This allows you to create
# include files (like banners, etc) as full HTML files which can be
viewed by
# a browser, and simply have the tags removed when inserting them into
another
# HTML document.
#
# <!--TRAN="fromtext|totext"-->
# This causes the "fromtext" to be replaced with the "totext" when
processing
# included files. Both can be any valid regular expression. For
example:
# you could use <!--TRAN="<HR.*>|<HR WIDTH=10>"--> to replace all
horizontal
# rulers with one that has a width parameter (the .* simply means to
match
# "zero or more of any character". Any number of translations can
be handled for
# one file. Remember the '|'is default delimiter, it is changed by
the -d switch
#
# <!--LABEL="label"-->
# Defines the label for this file. If an include file has a section
marked
# with a different label (STARTLABEL command), it will be skipped
(areas and
# files without labels are always included).
#
# <!--INCLUDE="filename"-->
# Include the listed file. An included files head, title, and body
tags are
# stripped if NOHEAD was used. Also several commands are allowed in an
# included file:
# <!--STARTLABEL="label"--> starts a section which should only
be
# included if the LABEL command has matched. These commands should not
# be embedded within each other (since only one LABEL can be active
anyway).
# <!--ENDLABEL--> Ends the label section. Ending a
# labelled section allows future lines to be included.
# <!--CMD="cmd"--> Executes PERL code. Use this if you are
familar with the
# language. For example: you could use <!--CMD="$ENV{'USER'}"--> to
# place the value of the environmental variable USER into the file.
# <!--EXE="program"--> Executes a program. The output does not
magically
# get into the file however. You will need to redirect it to a file,
then include
# it if desired. For example: <!--EXE="ls >out.txt"--> then on the
next line
# <!--INCLUDE="out.txt"--> would place a listing of files in the
directory into
# the file.
#
# Variables:
# The following variables can be placed anywhere in the document and
they
# will be replaced by the appropriate text.
#
# %%DATE%% - the current time when the script started
# %%FILENAME%% - the final saved filename of the currently being
processed file
# %%<your constants>%% - any constant you define (see -c flag) is
processed.
#$debug = 1;
$filefile = 'files.in';
$constantfile = 'const.in';
$verbose = 1;
$label = '';
$date = &date;
$delim = '\|';
ARG:foreach (@ARGV)
{
if (/^-f(.+)/)
{
$filefile = $1;
next ARG;
}
if (/^-v/)
{
$verbose = 0;
next ARG;
}
if (/^-d(.)/)
{
$delim = '\\'.$1;
next ARG;
}
if (/^-c(.)/)
{
$constantfile = $1;
next ARG;
}
if (/^-/)
{
print "Argument \'$_\' is unrecognized and
ignored.\n";
next ARG;
}
push @filelist, $_;
}
if (!@filelist)
{
open(FILES, "<$filefile") || die "Unable to open file list
\'$filefile\'\n error: $!";
while ($filename = <FILES>)
{
chop $filename;
$debug && print "got file: $filename\n";
push @filelist, $filename;
}
close (FILES);
}
if (open(CONST, "<$constantfile"))
{
$verbose && print "--------------\n";
while (<CONST>)
{
next if (/^#/);
if (/^\b*(\w*)=(.*)/)
{
$CONST{$1}=$2;
$verbose && print "constants:%%$1%% => $2\n";
}
}
close(CONST);
}
$debug && print @filelist;
foreach $filename (@filelist)
{
next if (!open(INP, "<$filename") && print "Unable to open
\'$filename\'..skipping\n");
undef %TRAN;
$label='';
$translations=0;
$savename=$filename.'.new';
$nohead='';
while (<INP>)
{
@tags = split(/<!--/);
foreach (@tags)
{
$debug && print "$filename:tagfromlist:$_:\n";
if (/^\b*(\w+)="(.+)"/)
{
$debug && print "$filename:found
x=y:$1 = $2:\n";
$found = $1;
$found =~ tr/[a-z]/[A-Z]/;
if($found eq 'SAVE')
{
$savename = $2;
$debug && print "sav = $2\n";
}
if($found eq 'NOHEAD')
{
$nohead = $2;
$debug && print "nohead =
$2\n";
}
if($found eq 'TRAN')
{
($st, $fn) = split (/$delim/,
$2);
$TRAN{$st} = $fn;
$translations = 1;
$debug && print "
translatiion = $st, $fn\n";
}
if($found eq 'LABEL')
{
$label = $label . "|". $2;
$debug && print " Label =
$label\n";
}
}
}
}
$verbose && print "--------------\n";
$verbose && print "$filename:Processing \'$filename\'
with:\n";
$verbose && print "$filename: Save file = $savename\n";
$verbose && print "$filename: Remove Headers = ",($nohead) ?
'on': 'none', "\n";
$verbose && print "$filename: Use Labelled = ",($label) ?
$label: 'none',"\n";
$verbose && print "$filename: Translations = ",
($translations) ? 'on': 'none', "\n";
if ($verbose)
{
foreach $key (keys %TRAN)
{
print "$filename: $key -->
$TRAN{$key}\n";
}
}
close (INP);
open (INP2, "<$filename") ||
die "Unable to open \'$filename\' for final scan.\n
error: $!\n";
open (OUT2, ">$savename") ||
die "Unable to open file \'$savename\' to save to.\n
error: $!\n";
$CONST{'date'} = $date;
$CONST{'filename'} = $savename;
$between = 1; # between is default.
$linecount = 0;
while (<INP2>)
{
$linecount++;
if (/<\/BODY>/i)
{
$_ = $` . "<BR><FONT SIZE=-2>Page processed
by ".
"<A
HREF=\"http://homepage.interaccess.com/~cdavis/\">".
"Carl Davis's - HTML
Processor</A></FONT>\n" . $& . $';
}
## s/%%filename%%/$savename/gi;
# s/%%date%%/$date/gi;
s/%%(\w+)%%/&lookupconstant($1)/eg;
print OUT2 $_;
@tags = split(/<!--/);
foreach (@tags)
{
if (/^\b*(\w+)="(.+)"-->/)
{
$found = $1;
$found =~ tr/[a-z]/[A-Z]/;
if($found eq 'INCLUDE')
{
if (!open(INC, "<$2"))
{
$verbose && print
"$filename($linecount):Unable to include \'$2\', ignoring\n";
}
else
{
$verbose && print
"$filename($linecount):including \'$2\'\n";
$inccount = 0;
while (<INC>)
{
$inccount++;
if ($nohead)
{
s/(<META[^>].>|<.?HTML>|<.?HEAD>|<.?BODY>|<TITLE>.*<\/TITLE>)//ieg;
}
if
(/<\/BODY>/i)
{
$_ =
$` . "<BR><FONT SIZE=-2>Page processed by ".
"<A HREF=\"http://homepage.interaccess.com/~cdavis/\">".
"Carl Davis's - HTML preprocessor</A></FONT>\n" . $& . $';
}
if
($translations)
{
foreach $key (keys %TRAN)
{
$t = $TRAN{$key};
eval "s/$key/$t/g";
#s/$key/$t/g;
}
}
if
(/<!--\b*(.+)="(.+)"/)
{
$labfound = $1;
$labfound =~ tr/[a-z]/[A-Z]/;
if
($labfound eq 'STARTLABEL')
{
if (index($label, $2) > 0)
{
$verbose &&
print "$filename($linecount,$inccount): including label \'$2\'
section\n";
$between = 1;
}
else
{
$verbose &&
print "$filename($linecount,$inccount): excluding label \'$2\'
section\n";
$between = 0;
print OUT2 $_;
}
}
}
if
(/<!--ENDLABEL/i)
{
$between = 1;
$verbose && print "$filename($linecount,$inccount): end of label,
normal processing\n";
}
s/%%(\w+)%%/&lookupconstant($1)/eg;
$between &&
print OUT2 $_ ;
}
}
close (INC);
}
if ($found eq 'CMD')
{
$val = eval($2);
$verbose && print
"$filename($linecount): evaluated ($2) = $val\n";
print OUT2 $val;
}
if ($found eq 'EXE')
{
print "exec = ", $2, "\n";
system($2);
}
}
}
}
close (INP2);
close (OUT2);
}
sub date
{
local(@month) = ( 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);
$hour = '0'. $hour unless ($hour > 9);
$min = '0'.$min unless ($min > 9);
local($date) = "${mday}-$month[$mon]-$year $hour:$min";
$date;
}
sub lookupconstant
{
local($val) = @_;
$val =~ tr/A-Z/a-z/;
$CONST{$val};
}
**** end htmlproc.pl ******
**** Banner.html *****
<HTML><HEAD><TITLE>Doesn't matter</TITLE></HEAD><BODY>
<!--STARTLABEL="test"-->
<H1>Test Document</H1>
<!--ENDLABEL-->
<!--STARTLABEL="not"-->
<H1>Different document</H1>
<!--ENDLABEL-->
</BODY></HTML>
***** end banner.html ****
**** test.base *****
<HTML><HEAD><TITLE>Test Document</TITLE></HEAD><BODY>
<!--SAVE="publish/test.html"-->
<!--INCLUDE="banner.html"-->
<!--NOHEAD="yes"-->
<HR>
<!--LABEL="test"-->
<HR>
Created by: <!--EXE="who am i >out.txt"-->
<!--INCLUDE="out.txt"-->
on: %%DATE%%
</BODY></HTML>
****** end test.base ******
Thanks for taking the time to help.
Terry
------------------------------
Date: Fri, 16 Jan 1998 09:20:44 -0800
From: "Scott D. Smith" <smitherz@bellsouth.net>
Subject: Re: Problems installing perl5.004_01 on HPUX10.20
Message-Id: <34BF96EC.7704@bellsouth.net>
Hello,
I have compiled perl 5.004_04 on HP unix 10.20 with dynamic libraries.
Here is my output from "perl -V", I even have loaded pTk and other
modules with success.
$ perl -V
Summary of my perl5 (5.0 patchlevel 4 subversion 4) configuration:
Platform:
osname=hpux, osvers=10, archname=PA-RISC1.1
uname='hp-ux a4054125 b.10.20 e 9000826 1145380351 8-user license '
hint=recommended, useposix=true, d_sigaction=define
bincompat3=y useperlio=undef d_sfio=undef
Compiler:
cc='cc', optimize='-O', gccversion=
cppflags='-D_HPUX_SOURCE -Aa -I/usr/local/include'
ccflags ='-D_HPUX_SOURCE -Aa -I/usr/local/include'
stdchar='unsigned char', d_stdstdio=define, usevfork=false
voidflags=15, castflags=0, d_casti32=define, d_castneg=define
intsize=4, alignbytes=8, usemymalloc=y, prototype=define
Linker and Libraries:
ld='ld', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/pa1.1 /lib /usr/lib /usr/ccs/lib
libs=-lnet -lnsl_s -lndbm -ldld -lm -lc -lndir -lcrypt
libc=, so=sl
useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-B,deferred '
cccdlflags='+z', lddlflags='-b -L/usr/local/lib'
Characteristics of this binary (from libperl):
Built under hpux
Compiled at Nov 10 1997 11:37:21
@INC:
/opt/perl/perl5/lib/PA-RISC1.1/5.00404
/opt/perl/perl5/lib
/opt/perl/perl5/lib/site_perl/PA-RISC1.1
/opt/perl/perl5/lib/site_perl
.
-------------------- end of perl -V -------------
Good luck.....Scott
--
---------------------------------------------------------------
| Scott D. Smith smitherz@bellsouth.net N3ERZ |
---------------------------------------------------------------
Anu Manne contractor for Carl Kiger wrote:
>
> I Couldnot install perl on HPUX10.20, got following warning messages
> while Making perl(5.004_01) and terminated after failing test 0:
>
> ************************************************************************
> CCCMD = cc -DPERL_CORE -c -D_HPUX_SOURCE -Aa -DARG_ZERO_IS_SCRIPT
> -O
> cc: Perl_yylex(): warning 6062: Optdriver: Exceeding compiler resource
> limits in Perl_yylex; some optimizations skipped. Use +Onolimit if
> override desired. (6062)
> cc: Perl_keyword(): warning 6062: Optdriver: Exceeding compiler resource
>
> Any help would be greatly appreciated.
> Thanks,
> Anu
------------------------------
Date: 16 Jan 1998 10:03:47 -0600
From: will@Starbase.NeoSoft.COM (Will Morse)
Subject: Re: Quick Perl tutorial?
Message-Id: <69o0d3$405$1@Starbase.NeoSoft.COM>
I wrote a paper called "A Brief Tutorial on Perl" in 94. It is on the
net somewhere a http://www.lgc.com/ but they move it from time to
time and I don't remember the path.
Will
In article <34BE5A9A.DBE4312A@ultranet.com>,
Jim Goss <jgoss@ultranet.com> wrote:
>Hi all,
>
>I hope this isn't covered in any of the sources I checked and missed
>it...
>
>I'm looking to learn the basics of perl so I can whip together
>some scripts. I don't need to use it a lot, nor do I need to
>do anything complex, just enough to do some quick and dirty
>deeds on occasion. I don't want to spend hours learning the
>language, so I was wondering if there's a good quick tutorial
>anywhere covering the basics. Anything oriented towards those
>familiar with C would be useful as well.
>
>Thanks,
>
>Jim
--
# Copyright 1997 Will Morse. Internet repost/archive freely permitted.
# Hardcopy newspaper, magazine, etc. quoting requires permission.
#
# Gravity, # Will Morse
# not just a good idea, # Houston, Texas
# it's the law. # will@starbase.neosoft.com
#
# These are my views and do not necessarly reflect anyone else/
=========================================================================
By US Code Title 47, Sec.227(a)(2)(B), a computer/modem/printer
meets the definition of a telephone fax machine. By Sec.227(b)
(1)(C), it is unlawful to send any unsolicited advertisement to
such equipment, punishable by action to recover actual monetary
loss, or $500, whichever is greater, for EACH violation.
=========================================================================
------------------------------
Date: 16 Jan 1998 15:22:46 GMT
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: Re: Reg Expression, Case change of memory variables
Message-Id: <69nu06$1v2$1@csnews.cs.colorado.edu>
[courtesy cc of this posting sent to cited author via email]
In comp.lang.perl.misc, Lach Dunlop <lach@lach.net> writes:
What's a "memory variable"? All variables are in memory,
you know.
Anyway, try looking up \U etc. And see perlfaq4:
How do I capitalize all the words on one line?
--tom
--
Tom Christiansen tchrist@jhereg.perl.com
When in doubt, mumble.
------------------------------
Date: Fri, 16 Jan 1998 08:48:35 -0800
From: seriously@usa.net (Sheldon)
Subject: Re: Sorting question (Sort of..:-)
Message-Id: <69o31d$f3p@bgtnsc02.worldnet.att.net>
In article <34BEFCD0.B79E2144@coos.dartmouth.edu>, rjk@coos.dartmouth.edu wrote:
>
># assumes files are sorted in ASCII order
>
>open(FILE1, $file1) or die "Unable to open $file1: $!";
>open(FILE2, $file2) or die "Unable to open $file2: $1";
>
snip
>
>Chipmunk
Just wanted to say a quick thanks - this was exactly what I was looking
for; I think my main problem was trying to get it to work without the
'defined' which isn't particularly covered in the first hundred or so pages
of the camel book - which is as far as I have delved... So thanx again,
Sheldon
------------------------------
Date: Fri, 16 Jan 1998 10:22:14 -0500
From: Dan Boorstein <dboorstein@ixl.com>
Subject: Re: source into binary code
Message-Id: <34BF7B26.BBA971D6@ixl.com>
? the platypus {aka David Formosa} wrote:
>
> In <34BE2AFA.E94BF263@ixl.com> Dan Boorstein <dboorstein@ixl.com> writes:
>
> >Tom Christiansen wrote:
> >> Compiling produces no security.
>
> >Tom Christiansen wrote:
> >> Security through obscurity is a terribly dangerous miscarriage of
> >> truth.
>
> [...]
>
> >security - "measures taken to guard against espionage or sabotage,
> >crime, attack, or escape"
>
> >obscure - "not readily understood or clearly expressed"
>
> >i'm not submitting that compiling is good security, only that it is
> >security. [...] do you agree or disagree with tom c's original statement?
>
> Obscure implies that with work that you could uncerstand the work with
> effort. Obscure things can be turned up with resurch and or effort.
>
yes, like searching a keyspace. doesn't that require effort?
>
> > isn't key based cryptography security through obscurity?
>
> The effort in decoding a key based document [1] requires a great amount of
> time. This is not obscure, this is opaic.
> [1] Given that it is a good system and not ROT13
> --
i would hardly refer to something that is possible to decode as opaque.
and why the exception for ROT-13? again i submit that advanced key
cryptography (e.g., PGP) and ROT-13 are on different ends of a wide
spectrum of "security through obscurity".
>
> [...]
>
> >i believe perl's own crypt is just obscuring, though irreversibly.
>
> If its obsured irreversibly, its not obsure.
>
huh? if "crypt"ed data is not obscure, and you will allow me to use
the above definition, which you have just negated, then "crypt"ed
data is "readily understood or clearly expressed". o.k., here you go.
what was this string before i ran it through crypt?
20RJX/7.cDuwg
certainly you don't believe this and i doubt it was your intent. do
you have a different definition of obscure? i have provided mine
above. what is yours?
cheers,
dan
------------------------------
Date: Fri, 16 Jan 1998 09:39:18 -0600
From: Andrew Johnson <ajohnson@gpu.srv.ualberta.ca>
Subject: Re: source into binary code
Message-Id: <34BF7F26.3B4DC56D@gpu.srv.ualberta.ca>
Chipmunk wrote:
!
! Andrew Johnson wrote:
! >
! > compilation of source has its uses, obviously,...but I would not
! > count hiding security problems (real or potential) among them, nor
! > would I recommend it as even a minimalist step in that direction.
!
! I think you're making the mistaken assumption that people who
! compile their source code for purpose of security are trying to
! hide security holes in their code.
!
! I believe in many cases the security that is sought is not to keep
! people from exploiting holes in the program, but to keep people
! from copying or modifying the code.
true enough ...and the original post was ambiguous on this point, but
my entry into this thread was in reply to a post that specifically
said that compilation can make it more difficult for someone to
exploit mistakes that might exist in the code --- and I didn't
feel that this should be promoted as *any* kind of security.
as for hiding source to prevent copying etc...well, that's more of a
personal issue--- but hey, if you truly don't want people stealing
your code put it in the bank vault (not the one with the big hole
under the 'New Low Rates' poster ) ... or maybe Tom P will
rent you space under the rock in his backyard ;-)
regards
andrew
(imagining the hoardes descending on Tom's backyard searching for
all of his secret source code)
------------------------------
Date: Fri, 16 Jan 1998 10:52:58 -0500
From: fl_aggie@thepentagon.com (I R A Aggie)
Subject: Re: source into binary code
Message-Id: <fl_aggie-1601981052580001@aggie.coaps.fsu.edu>
In article <34c839e1.6719799@news.tornado.be>, bart.mediamind@tornado.be
(Bart Lateur) wrote:
+ fl_aggie@thepentagon.com (I R A Aggie) wrote:
+
+ >I suspect the originator of this thread simply wishes to prevent potential
+ >customers from stealing code. That's best prevented via copyright and
+ >contract law.
+
+ But then you'd have to prove that they stole your code. That would be a
+ lot of hassle, wouldn't it?
Yes, you'd have to prove it.
Odds are that they'll lift the code verbatim, and not really change its
appearance much. If they reverse engineer your code from a binary executable,
it will be much, much, much harder to prove.
But as TomC said, if you give your code away, no one can steal it...
James
--
Consulting Minister for Consultants, DNRC
The Bill of Rights is paid in Responsibilities - Jean McGuire
To cure your perl CGI problems, please look at:
<url:http://www.perl.com/perl/faq/idiots-guide.html>
------------------------------
Date: Fri, 16 Jan 1998 10:11:11 -0600
From: sherman amsel <sherman@cdg.stsv.seagate.com>
Subject: system call from within a cgi script
Message-Id: <884963970.1086259211@dejanews.com>
hello,
i've got a question about making a system call from with a perl cgi
script. i'm gathering a bunch of fields of data via an html form, and
sending it to a cgi script for parsing. this part works just fine.
then, i'd like to make system calls to various utilities or other scripts
using this data. making the system call seems to cause "internal server
errors", or else nothing at all happens.
is there a trick i've missed? or is it that you're not "supposed to"
make a system call from within a cgi script? (the same perl code does
make the system call when not used as a cgi script.) i'm new to both
perl and cgi scripting, and hope i'm not sounding too foolish here ...
please email sherman@cdg.stsv.seagate.com. thanks in advance for your
help!
-sherman
-------------------==== Posted via Deja News ====-----------------------
http://www.dejanews.com/ Search, Read, Post to Usenet
------------------------------
Date: Fri, 16 Jan 1998 16:01:35 GMT
From: aml@world.std.com (Andrew M. Langmead)
Subject: Re: Temporary or Internal Files or Dummy Filehandles
Message-Id: <EMvwIn.7o5@world.std.com>
rc0230@email.mot.com (David Stashower) writes:
>I need to create either a temporary or, better yet, an "internal" file in
>perl. What I mean is, I want to associate a filehandle directly with an
>array (list), without having to actually create a file, such that other
>operations can read from the filehandle as if it were a file.
One way to do it would be with the tie() function to tie to a class
implementing TIEHANDLE methods.
See the perltie man page for details.
#!/usr/bin/perl -w
use TieArrayToHandle;
tie *HANDLE, TieArrayToHandle, 0 .. 10;
while(<HANDLE>) {
print;
}
(put this in a file called TieArrayToHandle.pm)
package TieArrayToHandle;
sub TIEHANDLE {
my $class = shift;
return bless [@_];
}
sub READLINE {
my $self = shift;
my $data = shift(@$self);
$data .= "\n" if defined $data;
return $data;
}
1;
--
Andrew Langmead
------------------------------
Date: 16 Jan 1998 14:49:25 GMT
From: matthew@ukonline.co.uk
Subject: Using SetUID
Message-Id: <69ns1l$iku$1@morse.news.easynet.net>
I have a script (b) that is called from another script(a) on a seperate server.
Script b creates various files, according to the info passed from script a. The problem is, script b assumes the permissions of script a, which means script(b) is not allowed to create any files.
I have been told that there is a function in perl (setuid?) that allows the second script(b), to assume a seperate set of permissions. i.e script A perms = me
script b perms = you.
I have spent the last few hours looking through the manual pages for perl, and the reference book I have. (Perl 5, How too..) and can't seem to shed any light on this problem.
Can anyone help?
If you need a clearer explanation of the problem :-) I will glady try a give one.
Thanks
Matthew Heathcote
------------------------------
Date: Fri, 16 Jan 1998 16:34:44 GMT
From: pd@world.std.com (Peter Davis)
Subject: Wanted: generic macro/include pre-processor
Message-Id: <slrn6bv312.fr5.pd@world.std.com>
Does anyone have a general purpose pre-processor that handles macro
(and nested macro) expansion and include files, written in Perl?
I've been experimenting with various solutions to document problems
for years. I'd like to be able to take a "readable" ascii file (ie,
an address book), and be able to process it into HTML, PostScript
(possibly via TeX or LaTeX), and, ideally, formatted ASCII. I'm
thinking the best way to do this would be to define a set of macros
for each format (HTML, LaTeX, etc.), and write the list using the
macros. Then I could include various macro sets depending on whether
I wanted HTML, LaTeX/PostScript, etc.
So, does anyone know of a macro processor that could be used for this?
It would basically have to expand macros and nested macros, include
files, and, perhaps handle conditionals.
Thanks,
-pd
--
Peter Davis
http://world.std.com/~pd
"Boycott intrusive advertisers!"
------------------------------
Date: 8 Mar 97 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 8 Mar 97)
Message-Id: <null>
Administrivia:
The Perl-Users Digest is a retransmission of the USENET newsgroup
comp.lang.perl.misc. For subscription or unsubscription requests, send
the single line:
subscribe perl-users
or:
unsubscribe perl-users
to almanac@ruby.oce.orst.edu.
To submit articles to comp.lang.perl.misc (and this Digest), send your
article to perl-users@ruby.oce.orst.edu.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
To request back copies (available for a week or so), send your request
to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
where x is the volume number and y is the issue number.
The Meta-FAQ, an article containing information about the FAQ, is
available by requesting "send perl-users meta-faq". The real FAQ, as it
appeared last in the newsgroup, can be retrieved with the request "send
perl-users FAQ". Due to their sizes, neither the Meta-FAQ nor the FAQ
are included in the digest.
The "mini-FAQ", which is an updated version of the Meta-FAQ, is
available by requesting "send perl-users mini-faq". It appears twice
weekly in the group, but is not distributed in the digest.
For other requests pertaining to the digest, send mail to
perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
sending perl questions to the -request address, I don't have time to
answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V8 Issue 1654
**************************************