[21979] in Perl-Users-Digest
Perl-Users Digest, Issue: 4201 Volume: 10
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Sun Dec 1 11:05:50 2002
Date: Sun, 1 Dec 2002 08:05:08 -0800 (PST)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Sun, 1 Dec 2002 Volume: 10 Number: 4201
Today's topics:
Begineer's CGI question (ibits)
Re: Begineer's CGI question <mgjv@tradingpost.com.au>
Re: Begineer's CGI question <jurgenex@hotmail.com>
Changing the width of the tab (AG)
Re: Changing the width of the tab <jurgenex@hotmail.com>
Re: HELP! Looking for a cgi (Gothicdream6)
Re: HELP! Looking for a cgi <flavell@mail.cern.ch>
Re: HELP! Looking for a cgi <flavell@mail.cern.ch>
Re: help: multi-dimensional hash from flat array <goldbb2@earthlink.net>
Re: LWP fetch <goldbb2@earthlink.net>
Mime Header Problem <meme@meme.com>
Re: Mime Header Problem <rereidy@indra.com>
Re: Mime Header Problem <meme@meme.com>
Re: split binary data <bwalton@rochester.rr.com>
Re: using strict and warnings <goldbb2@earthlink.net>
Re: using strict and warnings <flavell@mail.cern.ch>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: 1 Dec 2002 01:01:41 -0800
From: one2katwo@yahoo.com (ibits)
Subject: Begineer's CGI question
Message-Id: <a317f43d.0212010101.4d8ac4bf@posting.google.com>
Hi Everyone
I'm new to CGI programming and hence is a begineer's question
I am able to get a simple .cgi script to work however the other one's
don't work,which I think might be because they use the %ENV hash and
it keeps giving me server errors...
Could this be because the web server on my college machine is set up
to block use of that hash... is this a security issue? Can you set up
a web server to block the use of %ENV?
I would appreciate your comments
Thank you very much
:)
Rachel
------------------------------
Date: Sun, 1 Dec 2002 20:52:56 +1100
From: Martien Verbruggen <mgjv@tradingpost.com.au>
Subject: Re: Begineer's CGI question
Message-Id: <slrnaujmvo.1rk.mgjv@martien.heliotrope.home>
On 1 Dec 2002 01:01:41 -0800,
ibits <one2katwo@yahoo.com> wrote:
> Hi Everyone
>
> I'm new to CGI programming and hence is a begineer's question
>
> I am able to get a simple .cgi script to work however the other one's
> don't work,which I think might be because they use the %ENV hash and
> it keeps giving me server errors...
You'll have to get access to the log files of the web server, to find
out what the errors are. Better maybe would be to make sure that your
program starts like this:
#!/usr/bin/perl
use warnings;
use strict;
use CGI;
use CGI::Carp 'fatalsToBrowser';
Please read the documentation of the CGI module. Don't try to use
anything else, especially if you're new to CGI programming.
> Could this be because the web server on my college machine is set up
> to block use of that hash... is this a security issue? Can you set up
> a web server to block the use of %ENV?
Nope. But it is very well possible that the environment variables that
are set by your web server processes when executing CGI programs is
different from what you expect it to be.
> I would appreciate your comments
Apart from the documentation I already mentioned, also have a look at
the Perl FAQ, section 9. It contains information about Perl specific CGI
issues, as well as pointers to documentation and information about the
CGI in general.
The CGI is not a Perl specific thing, so you might want to read up on
that first. If you have questions about CGI programming, direct them to
comp.infosystems.www.authoring.cgi. If you have questions about Perl,
post here again.
Martien
--
|
Martien Verbruggen | Think of the average person. Half of the
| people out there are dumber.
|
------------------------------
Date: Sun, 01 Dec 2002 10:54:43 GMT
From: "Jürgen Exner" <jurgenex@hotmail.com>
Subject: Re: Begineer's CGI question
Message-Id: <TTlG9.8627$31.3826@nwrddc03.gnilink.net>
ibits wrote:
> I'm new to CGI programming and hence is a begineer's question
>
> I am able to get a simple .cgi script to work however the other one's
> don't work,which I think might be because they use the %ENV hash and
> it keeps giving me server errors...
> Could this be because the web server on my college machine is set up
> to block use of that hash... is this a security issue? Can you set up
> a web server to block the use of %ENV?
No. Web server don't control Perl language features.
However it may very well be that web server X doesn't provide the same
evironment variables as web server Y. And that is a question you will have
to ask in a Newsgroup that deals with your web server.
jue
------------------------------
Date: 30 Nov 2002 22:40:17 -0800
From: ag269@columbia.edu (AG)
Subject: Changing the width of the tab
Message-Id: <6c4429bb.0211302240.10ece4b0@posting.google.com>
I am trying to output a table of 2 columns using /t formatting:
However, if the length of the word if the first column exceeds 7
characters, the next column is pushed further then the rest. Which
leads me to my question:
Is there a way to change the default width of columns from 8 to ,say,
12 characters?
Thank you
------------------------------
Date: Sun, 01 Dec 2002 11:00:57 GMT
From: "Jürgen Exner" <jurgenex@hotmail.com>
Subject: Re: Changing the width of the tab
Message-Id: <JZlG9.8628$31.5371@nwrddc03.gnilink.net>
AG wrote:
> I am trying to output a table of 2 columns using /t formatting:
>
> However, if the length of the word if the first column exceeds 7
> characters, the next column is pushed further then the rest. Which
> leads me to my question:
>
> Is there a way to change the default width of columns from 8 to ,say,
> 12 characters?
You would need to change the column width of your output device.
How to do that? Well, impossible to tell because you don't tell us what your
output device is.
A better approach might be to just fill up the first word with blanks until
it contains 12 characters.
jue
------------------------------
Date: 01 Dec 2002 11:59:37 GMT
From: gothicdream6@aol.com (Gothicdream6)
Subject: Re: HELP! Looking for a cgi
Message-Id: <20021201065937.28264.00000170@mb-cf.aol.com>
>I'm looking for a cgi to redirect people from a page to another.
The following link has an article about using a meta tag to redirect from one
page to another.
I dont know if this is what your looking for, but it might be worth a look.
Hope this helps you.
http://www.cgiwebsite.com/devnews/2002/11/20021122.html
I'm just learning how to write simple stuff in Perl, so I don't know if this
what your looking for.
>1) The page to be redirected is a htm file.
>2) My remote server is windows and support Perl 5.
>3) The cgi has to change the server status (HTTP Header) to error 301 Moved
>Permanently.
>
>Does anybody where I could find something similar??
>
>Thank you in advance,
>Jorge
------------------------------
Date: Sun, 1 Dec 2002 15:43:04 +0100
From: "Alan J. Flavell" <flavell@mail.cern.ch>
Subject: Re: HELP! Looking for a cgi
Message-Id: <Pine.LNX.4.40.0212011515480.19100-100000@lxplus071.cern.ch>
On Nov 29, Jorge Mesa inscribed on the eternal scroll:
> I'm looking for a cgi to redirect people from a page to another.
Are you sure that's what you want? Most web servers have
more-efficient ways to do this than the overhead of firing up a CGI
script (server configuration entries e.g .htaccess, or for more
complex requirements Apache has mod_redirect).
> 1) The page to be redirected is a htm file.
But where is it? There's no use redirecting to it unless it's in the
web tree. I'll assume that the target page really does have its own
URL, even though you didn't actually say so.[1]
> 3) The cgi has to change the server status (HTTP Header) to error 301 Moved
> Permanently.
Hang on, this sounds like a student exercise?
You have the example in Stein's book, which you've already been
referred to, I see.
The only extra is to set the status, since by default the status will
be 302. Since you will have sensibly chosen to use CGI.pm (ignoring
any bystanding trolls), you should read
http://stein.cshl.org/WWW/software/CGI/#header
and note that a redirection header can include a -status=>nnn
argument, provided of course that the value of nnn is compatible
with it being a redirection (301, 302, 303 or 307 as appropriate).
(which reminds me once again - if documentation developers are
listening: the POD which is distributed with the installed CGI.pm is
of reduced value - Lincoln Stein evidently keeps his own HTML-based
documentation up to date, but the POD - from which the HTML-ised
documentation at http://www.perldoc.com/perl5.8.0/lib/CGI.html has
been generated - still contains material which has been criticised in
the past, and corrected in the author's own HTML as well as in FAQ9.)
Unless and until this is resolved, I'd recommend users of CGI.pm to
bookmark Stein's own HTML documentation as cited above (modulo any
version differences between his latest version and the one that gets
installed with your version of Perl), and use it in preference to the
distributed POD.
If you want to know more about what's going on under the covers, then
take a look at Perl FAQ part 9, which you _should_ already have found.
See e.g http://www.perldoc.com/perl5.8.0/pod/perlfaq9.html
under: "How do I redirect to another page?".
But if you insisted on rolling your own, you'd need different code
for parsed-headers and NPH scripts, and you're supposed to deal
appropriately with both GET and HEAD requests, and so on...
good luck
[1] some folks seek to control access to content by placing it outside
of the web tree, and using a CGI script to perform controlled copying
of its contents to the caller. Just by way of explaining why I asked.
------------------------------
Date: Sun, 1 Dec 2002 15:46:26 +0100
From: "Alan J. Flavell" <flavell@mail.cern.ch>
Subject: Re: HELP! Looking for a cgi
Message-Id: <Pine.LNX.4.40.0212011545440.19100-100000@lxplus071.cern.ch>
On Dec 1, Alan J. Flavell inscribed on the eternal scroll:
> complex requirements Apache has mod_redirect).
Apologies: I meant mod_rewrite, and posted before I realised the
mistake.
------------------------------
Date: Sat, 30 Nov 2002 23:09:10 -0500
From: Benjamin Goldberg <goldbb2@earthlink.net>
Subject: Re: help: multi-dimensional hash from flat array
Message-Id: <3DE98B66.CFABEF78@earthlink.net>
Chef Tako wrote:
>
> i need to create an arbitrary multi-dimensional hash
> from a flat array. i don't understand why the simple
> $h{a}{b}{c}{d}{e}='x' ain't working.
>
[snip]
> ## starting point:
> ## string contains flattened representation of variable
> ## could be arbitrarly deep , # of -'s
> my $var = "a-b-c-d-e";
[snip]
> my $q=%h->{a}{b}{c}{d}{e};
>
> ## should come back as 823 but it aint even there
Try this:
my %h;
my $var = "a-b-c-d-e";
my $href = \%h;
my @keys = split /-/, $var, -1;
my $finalkey = pop @keys;
foreach( @keys ) {
$href = ( $href->{$_} ||= {} );
}
$href->{$finalkey} = 823;
print $h{a}{b}{c}{d}{e}, "\n";
This solution is slightly less elegant than Tina Mueller's solution, but
there's only one level of references...
--
my $n = 2; print +(split //, 'e,4c3H r ktulrnsJ2tPaeh'
."\n1oa! er")[map $n = ($n * 24 + 30) % 31, (42) x 26]
------------------------------
Date: Sun, 01 Dec 2002 01:52:34 -0500
From: Benjamin Goldberg <goldbb2@earthlink.net>
Subject: Re: LWP fetch
Message-Id: <3DE9B1B2.76D8ABA9@earthlink.net>
Adam Knowles wrote:
[snip]
> I've seen lots or scripts out there that 'mirror' a site on another
> server, but none that can be used as 'on-demand' mirrors. i.e. Go grab
> a page the user asks for, then grab other ones if they request them.
> Does such a script exist?
You mean like an anonymizer does?
http://www.google.com/search?q=anonymizer
--
my $n = 2; print +(split //, 'e,4c3H r ktulrnsJ2tPaeh'
."\n1oa! er")[map $n = ($n * 24 + 30) % 31, (42) x 26]
------------------------------
Date: Sun, 01 Dec 2002 04:56:16 GMT
From: "Cold Cathoid" <meme@meme.com>
Subject: Mime Header Problem
Message-Id: <QDgG9.139663$ka.3175292@news1.calgary.shaw.ca>
Hey all,
I am writing a script that grabs a bunch of data from a webform. The script
(as cgi of course) takes the incoming form data and creates a SQL statement
with which to insert a record into the database. As I slowly create the SQL
string I output it to the screen to make sure it's coming along ok. When I
have processed about 30 of the form elements I get:
Server Error
The following error occurred:
The server response MIME header is too long.
I process the form elements like this:
popArray('vehicle_model');
which calls the sub:
sub popArray{
$formItem = @_[0];
$formValue = $query->param($formItem);
if ($formValue eq ''){
$formValue = "NULL";
}
return $formValue;
}
I am compiling a sql string by using:
$insertsSQL = $insertsSQL . ", " . popArray('vehicle_model');
$insertsSQL = $insertsSQL . ", " . popArray('vehicle_type');
Does anyone know why I get this server error? I am running this on Apache
btw. Can someone suggest a better method of reading in up to 55 form fields
and construcing a sql insert statement with it? I have attempted to put all
the form data into an array but got the same server error.
Any help that anyone can give would be MOST appreciated. If you need more of
my code posted please let me know. TIA
------------------------------
Date: Sat, 30 Nov 2002 22:33:33 -0700
From: Ron Reidy <rereidy@indra.com>
Subject: Re: Mime Header Problem
Message-Id: <3DE99F2D.4547E9F3@indra.com>
Cold Cathoid wrote:
>
> Hey all,
>
> I am writing a script that grabs a bunch of data from a webform. The script
> (as cgi of course) takes the incoming form data and creates a SQL statement
> with which to insert a record into the database. As I slowly create the SQL
> string I output it to the screen to make sure it's coming along ok. When I
> have processed about 30 of the form elements I get:
>
> Server Error
> The following error occurred:
> The server response MIME header is too long.
>
> I process the form elements like this:
>
> popArray('vehicle_model');
>
> which calls the sub:
>
> sub popArray{
> $formItem = @_[0];
> $formValue = $query->param($formItem);
>
> if ($formValue eq ''){
> $formValue = "NULL";
> }
> return $formValue;
>
> }
>
> I am compiling a sql string by using:
>
> $insertsSQL = $insertsSQL . ", " . popArray('vehicle_model');
> $insertsSQL = $insertsSQL . ", " . popArray('vehicle_type');
>
> Does anyone know why I get this server error? I am running this on Apache
> btw. Can someone suggest a better method of reading in up to 55 form fields
> and construcing a sql insert statement with it? I have attempted to put all
> the form data into an array but got the same server error.
>
> Any help that anyone can give would be MOST appreciated. If you need more of
> my code posted please let me know. TIA
Do you initialize $insertSQL?
--
Ron Reidy
Oracle DBA
------------------------------
Date: Sun, 01 Dec 2002 06:11:33 GMT
From: "Cold Cathoid" <meme@meme.com>
Subject: Re: Mime Header Problem
Message-Id: <pKhG9.14972$Qr.274646@news3.calgary.shaw.ca>
"Ron Reidy" <rereidy@indra.com> wrote in message
news:3DE99F2D.4547E9F3@indra.com...
> Cold Cathoid wrote:
> >
> > Hey all,
> >
> > I am writing a script that grabs a bunch of data from a webform. The
script
> > (as cgi of course) takes the incoming form data and creates a SQL
statement
> > with which to insert a record into the database. As I slowly create the
SQL
> > string I output it to the screen to make sure it's coming along ok. When
I
> > have processed about 30 of the form elements I get:
> >
> > Server Error
> > The following error occurred:
> > The server response MIME header is too long.
> >
> > I process the form elements like this:
> >
> > popArray('vehicle_model');
> >
> > which calls the sub:
> >
> > sub popArray{
> > $formItem = @_[0];
> > $formValue = $query->param($formItem);
> >
> > if ($formValue eq ''){
> > $formValue = "NULL";
> > }
> > return $formValue;
> >
> > }
> >
> > I am compiling a sql string by using:
> >
> > $insertsSQL = $insertsSQL . ", " . popArray('vehicle_model');
> > $insertsSQL = $insertsSQL . ", " . popArray('vehicle_type');
> >
> > Does anyone know why I get this server error? I am running this on
Apache
> > btw. Can someone suggest a better method of reading in up to 55 form
fields
> > and construcing a sql insert statement with it? I have attempted to put
all
> > the form data into an array but got the same server error.
> >
> > Any help that anyone can give would be MOST appreciated. If you need
more of
> > my code posted please let me know. TIA
> Do you initialize $insertSQL?
> --
I hadn't ... but I tried initializing it to $insertsSQL = ""; .... but that
didn't help
------------------------------
Date: Sun, 01 Dec 2002 02:42:00 GMT
From: Bob Walton <bwalton@rochester.rr.com>
Subject: Re: split binary data
Message-Id: <3DE976BB.8080308@rochester.rr.com>
Takahide Nojima wrote:
> Bob Walton <bwalton@rochester.rr.com> writes:
>
>
>>Here is one way:
>>
>>for(1..600*1024){$a.=chr(rand(96)+32)} #generate 600K bytes
>>@a=($a=~m/(.{10240})/g);push @a,$' if length($')>0; #10K pieces
>>print "size of a=".@a."\n"; #how many pieces
>>print join ', ',map {length} @a; #size of each piece
>>
>>HTH.
>>
>
> If $a have utf-8 string in that code with perl 5.6 ,
> I think the size of $a[0] is not equal 10240 bytes.
>
> I think the solution is like this,
>
> 1. In Perl 5.6 above:
>
> Someone tell me to add 'use bytes' within the code like this,
>
> { use bytes;
> for(1..600*1024){$a.=chr(rand(96)+32)} #generate 600K bytes
> @a=($a=~m/(.{10240})/g);push @a,$' if length($')>0; #10K pieces
> print "size of a=".@a."\n"; #how many pieces
> print join ', ',map {length} @a; #size of each piece
> }
>
> 2. In less than 5.6:
>
> Perl doesn't treat multi-byte charactors in any string manipulation,so
> any binary data always treat in the unit of bytes.
>
> nojima@taito.co.jp
>
>
>
>
It sounds like a matter of definitions. Your original post said "I
would like to split it in bytes unit in any cases" which to me means you
want to split it by byte count, where a byte is eight bits, or an ASCII
character. If you want to split on a certain number of UTF-8
characters, that is entirely a different matter, as some characters are
more than one byte long. I can offer no expertise on that.
Also, I agree with Mr. Zentara that the /s modifier is needed in the
event string contains one or more newline characters. Sorry about that
oversight.
--
Bob Walton
------------------------------
Date: Sun, 01 Dec 2002 01:49:22 -0500
From: Benjamin Goldberg <goldbb2@earthlink.net>
Subject: Re: using strict and warnings
Message-Id: <3DE9B0F2.1EC186EE@earthlink.net>
Bryan wrote:
>
> Hi,
>
> My company recently contracted out a website, and we just got the code
> in house. The code, by the way, does not work. In looking through the
> code, I noticed that that 98% of it is static html, and the remaining 2%
> appears to be old and crusty perl code. All 155 lines of it.
>
> These guys used some cgi_lib.pl file, or rather hardly used it... it
> looks like they use 2 methods that are included with this little lib.
> As far as I know, cgi_lib.pl is extremely old and very outdated... most
> people use CGI.pm now via CPAN if I am correct.
Although 'cgi-lib.pl' is quite old, it is not precisely outdated -- the
newest version (2.18) contain support for 'multipart/form-data' stuff,
which is what you need for file upload forms.
However, the last update to it was 1999/02/23, quite some time ago.
> But what really troubles me is that the code they are using does not use
> strict or warnings. If I add the strict pragma and turn warnings on, I
> get a !*@#load of warnings of course and the scripts will not run.
I doubt that turning warnings on prevents the script from running -- it
merely produces warnings.
Turning strict on, though, will prevent the script from running if it is
not properly strict-clean.
> I have always used warnings and strict in my cgi based code, but my
> understanding of exactly why this is important is less than thorough.
Most of the things that warnings produces warnings for are indicitave of
you doing things which you *probably* don't want to be doing.
For example, suppose you have:
my @a = qw(a,b,c d,e,f);
Do you want this to be 2 elements, "a,b,c", and "d,e,f"? That's what
the code does. But you might have wanted 6 elements, "a", "b", "c",
"d", "e", "f". By having warnings enabled perl tells you that you are
doing something dubious.
Or imagine having had the code:
$year = "19" . $year;
Obviously noone nowadays would write code like that, but one might have
a few years ago. By having warnings enabled, it tells you that you're
doing something you probably don't want to be. In this case, if you
originally got $year from localtime() in list context, then you want to
add 1900, or else the output will be "19102" for the current year.
There are lots and lots of different types of warnings that perl can
produce -- see perldoc perllexwarn, and perldoc perldiag.
Strictures are slightly different -- there are only three of them,
strict refs, strict subs, and strict vars.
If strict refs is enabled, then you cannot use a string as a reference
to a variable -- you can only use a 'hard' reference or a glob. The
reasons why strings-as-references (aka symbolic references) are bad
are myriad, read http://perl.plover.com/varvarname.html
If strict subs is enabled, you cannot use a bareword as a string. If you
have code like this:
my $x = foobar;
, and if strict subs is disabled, and if there's no foobar sub already
declared, then $x will contain the string "foobar". If strict subs
is enabled, this becomes an error (forcing you to add "" if you want it
to be a string, or () to the end if you want it to be a sub call).
If strict vars is enabled, you're forced to declare all of your
variables. Without it, simply using a variable causes it to spring
into existance. There are many reasons why declaring your variables
is a good idea -- but I'm too lazy to list them. If you feel the need
to ask, post a reply here.
> For example, what could happen to a website that utilizes a perl script
> that is not using strict?
If you write your script to be strict-clean, then there will be no
change in it's behavior if you remove strict.
As to what could happen... see the varvarname page I mentioned.
> Is this just bad programming practice, or
> are there real security risks here?
Both.
If you use data from the user as a symbolic reference, and expect it
to be one of a limited set of inputs (eg, due to it coming a <SELECT>
or radio button in a web form) but the user uses LWP or somesuch to
generate the data, you could easily end up clobbering your regular data.
Now having strict subs enabled won't cause security problems,
particularly just programming problems in general. You code might all
work perfectly ok, up until the time that you go and add another
subroutine up above the code in question, and you happen to give it the
same name as one of those bareword-strings, which changes that bareword-
string into a subroutine call. Oops.
Likewise, lack of strict vars won't cause problems, but suppose you
decide to change the code, and want to replace all of one name with
another, but accidentally miss a spot or two. If strict refs is enabled,
then those one or two spots you missed will be compile time errors.
If strict refs is not enabled, then those one or two spots will continue
using the old, incorrect, variable name, without your knowledge.
> Can someone give me some examples of what could happen? Or point me to some docs? I looked through the
> faq and perldocs and found some info about what strict does, but there
> is no explanation of why that is so important... ( or I missed it ).
They are important because they force you to code in a safer manner than
you otherwise would do.
--
my $n = 2; print +(split //, 'e,4c3H r ktulrnsJ2tPaeh'
."\n1oa! er")[map $n = ($n * 24 + 30) % 31, (42) x 26]
------------------------------
Date: Sun, 1 Dec 2002 12:39:28 +0100
From: "Alan J. Flavell" <flavell@mail.cern.ch>
Subject: Re: using strict and warnings
Message-Id: <Pine.LNX.4.40.0212011227500.8621-100000@lxplus071.cern.ch>
On Dec 1, Benjamin Goldberg inscribed on the eternal scroll:
> I doubt that turning warnings on prevents the script from running -- it
> merely produces warnings.
Agreed, but those warnings might well prevent the script from
returning a well-formed response, which gives the impression at the
client side that the script isn't working. Might just be an
unfortunate choice of wording by the original poster.
> > Is this just bad programming practice, or
> > are there real security risks here?
>
> Both.
agreed.
> They are important because they force you to code in a safer manner than
> you otherwise would do.
Just to reinforce the point that in a WWW context, CGI scripts are
especially in need of secure programming practices, as they are
exposed to whatever mischievous webnauts can throw at them, and are
executing in an environment where they can potentially put a web
server at risk. A read of Lincoln Stein's web security FAQ is
recommended.
It's unfortunate that for all too many WWW authors, CGI scripts are
their first exposure to any kind of programming whatever. No matter
their best intentions, and no disrespect to youthful enthusiasm -
which has its own merits, but the overall result is, well, can I say
"deplorable"?
best regards
------------------------------
Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 6 Apr 01)
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.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.
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 V10 Issue 4201
***************************************