[29113] in Perl-Users-Digest
Perl-Users Digest, Issue: 357 Volume: 11
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Thu Apr 19 06:09:53 2007
Date: Thu, 19 Apr 2007 03:09:05 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Thu, 19 Apr 2007 Volume: 11 Number: 357
Today's topics:
Re: Any Help? Stuck trying to create cgi perl program <bik.mido@tiscalinet.it>
Re: FAQ 9.20 How do I send mail? <timdooling@qconline.com>
Re: FAQ 9.20 How do I send mail? <bik.mido@tiscalinet.it>
new CPAN modules on Thu Apr 19 2007 (Randal Schwartz)
Re: Passing hash to a subroutine <raykyoto@gmail.com>
Re: Passing hash to a subroutine <raykyoto@gmail.com>
Re: Server For Rent? Where? <nikos1337@gmail.com>
Re: Server For Rent? Where? <bik.mido@tiscalinet.it>
Re: Socket creation failing with "operation now in prog <nobull67@gmail.com>
Re: UTF16 input file to ISO-8859-1 output <yankeeinexile@gmail.com>
Re: UTF16 input file to ISO-8859-1 output <yankeeinexile@gmail.com>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Thu, 19 Apr 2007 11:13:28 +0200
From: Michele Dondi <bik.mido@tiscalinet.it>
Subject: Re: Any Help? Stuck trying to create cgi perl program
Message-Id: <ldce231hd0oh5eruca8tt2nqb5qcqdt20d@4ax.com>
On Thu, 19 Apr 2007 00:55:27 GMT, Ala Qumsieh <noreply@invalid.net>
wrote:
>> (i) this is *not* a "forum";
>
>Why not? A forum, by definition, is a public place where people can meet and
>exchange ideas. Newsgroups are forums.
Well, you're right. And intelligently so. But the fact is that in the
current jargon "forum" is almost universally used as a synonim for
"web forum". It's not a coincidence that the person I'm replying to is
posting from GG. So it's true that ngs are fora in the loose sense of
the word, but they're not (web) fora. In fact not only do they predate
the web, but even the internet.
Michele
--
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^<R<Y]*YB='
.'KYU;*EVH[.FHF2W+#"\Z*5TI/ER<Z`S(G.DZZ9OX0Z')=~/./g)x2,$_,
256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,
------------------------------
Date: Wed, 18 Apr 2007 22:30:08 -0500
From: "timdooling" <timdooling@qconline.com>
Subject: Re: FAQ 9.20 How do I send mail?
Message-Id: <1176953408_11125@sp12lax.superfeed.net>
"timdooling" <timdooling@qconline.com> wrote:
>Actually, the internal server error is not the problem.
I restructured the code as this:
#!/usr/bin/perl --
require 5;
if (open(LOG,">>sendmail.txt"))
{
my @sendmail = (
'/usr/sbin/sendmail -oi -t',
'/usr/bin/sendmail -oi -t',
'/usr/lib/sendmail -oi -t',
'/usr/sendmail -oi -t',
'/bin/sendmail -oi -t',
);
foreach(@sendmail)
{
if (open(SENDMAIL, "|$_"))
{
print SENDMAIL 'From: timdooling@qconline.com';
print SENDMAIL 'To: timdooling@qconline.com';
print SENDMAIL 'Subject: test';
print SENDMAIL "\n";
print SENDMAIL "test\n\n";
print LOG $_;
close(SENDMAIL);
}
}
close(LOG);
}
Now, I had placed between each line of the code a print message and each line of the code was executed. There was still the server error, but that was cured by simply placing some "Hello World!" code at the end. It still did not send the mail, although the code was executed.
The server I am using is loaded with Apache/1.3.6 (Unix) mod_perl/1.21 mod_ssl/2.2.8. Now, this is an outdated dinosaur, but the code should work. The perl version is 5+.
The puzzling aspect of this is that it opens each of the pipes or indicates that it does without error, and then just does nothing.
So what is wrong with THIS code?
Tim Dooling
PS - the double quotes or single quotes around the marker seem to make no difference.
PPS - Do try to respect others in your responses.
------------------------------
Date: Thu, 19 Apr 2007 11:00:17 +0200
From: Michele Dondi <bik.mido@tiscalinet.it>
Subject: Re: FAQ 9.20 How do I send mail?
Message-Id: <r2ae23phcg2hhgt79ncungp94ljqa9th7v@4ax.com>
On Wed, 18 Apr 2007 22:30:08 -0500, "timdooling"
<timdooling@qconline.com> wrote:
>"timdooling" <timdooling@qconline.com> wrote:
>>Actually, the internal server error is not the problem.
>
>I restructured the code as this:
>
>#!/usr/bin/perl --
>require 5;
For any script of this length I recommend you to ask perl to give you
all the help it can and
use strict;
use warnings; # perhaps also
# use diagnostics;
Also, if this is going to run as a CGI program then you should better
read
perldoc perlsec
and in particular about tainted mode.
>if (open(LOG,">>sendmail.txt"))
>{
> my @sendmail = (
> '/usr/sbin/sendmail -oi -t',
> '/usr/bin/sendmail -oi -t',
> '/usr/lib/sendmail -oi -t',
> '/usr/sendmail -oi -t',
> '/bin/sendmail -oi -t',
> );
> foreach(@sendmail)
Are you using *all* of them? (I suppose you may want to exit the
following loop as soon as one succeeds.) Did you check that at least
one of them is actually there? And if it is, then why still trying
them all to find the right one?
> print SENDMAIL 'From: timdooling@qconline.com';
> print SENDMAIL 'To: timdooling@qconline.com';
> print SENDMAIL 'Subject: test';
I'm by no means an expert, but shouldn't these be separated by
newlines? If they're not, then it's just as if you had printed
'From: timdooling@qconline.comTo: timdooling@qconline.comSubject:
test'
>Now, I had placed between each line of the code a print message and
>each line of the code was executed. There was still the server error,
As someone duly explained the above is fundamentally a standalone
script. It gives no output at all. If it is supposed to run as a CGI
script, then it *should* spit out some.
>but that was cured by simply placing some "Hello World!" code at the
>end. It still did not send the mail, although the code was executed.
The code "was executed" but did it succeed? You could print out some
text to STDERR, most reasonably by means of warn() if the open()s do
not succeed. Then you will find out in the error log what wend wrong:
as I wrote above, are you sure that sendmail is installed at all?
>The puzzling aspect of this is that it opens each of the pipes or
How do you know that it opens them all? Oh, I see now the
print LOG $_;
line which won't execute if
open(SENDMAIL, "|$_")
fails. So apologies for this...
>PS - the double quotes or single quotes around the marker seem to make no difference.
What do you mean with "around the marker"? The point people were
trying to make, AND RIGHTLY SO, is that in the double quoted string
"To: timdooling@qconline.com"
for example, @qconline is interpreted as an array to interpolate. If
this array doesn't exist, then it will expand to
"To: timdooling.com"
If you enable warnings, you will get one. And if you enable strict,
you will get an error. So you would have known what was wrong in the
first place.
>PPS - Do try to respect others in your responses.
I ALWAYS do! You f#@king b#@tard!! Hehe, just kidding...
Michele
--
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^<R<Y]*YB='
.'KYU;*EVH[.FHF2W+#"\Z*5TI/ER<Z`S(G.DZZ9OX0Z')=~/./g)x2,$_,
256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,
------------------------------
Date: Thu, 19 Apr 2007 04:42:13 GMT
From: merlyn@stonehenge.com (Randal Schwartz)
Subject: new CPAN modules on Thu Apr 19 2007
Message-Id: <JGqAED.D70@zorch.sf-bay.org>
The following modules have recently been added to or updated in the
Comprehensive Perl Archive Network (CPAN). You can install them using the
instructions in the 'perlmodinstall' page included with your Perl
distribution.
BSD-getloadavg-0.03
http://search.cpan.org/~dankogai/BSD-getloadavg-0.03/
Perl Interface to getloadavg (3)
----
Bundle-Encode-0.02
http://search.cpan.org/~ski/Bundle-Encode-0.02/
A bundle to install Encode modules and dependencies
----
Bundle-Parrot-Smoke-0.01
http://search.cpan.org/~smpeters/Bundle-Parrot-Smoke-0.01/
A bundle for installing all the modules needed to smoke Parrot
----
Catalyst-Plugin-Authentication-Credential-Livedoor-0.01
http://search.cpan.org/~ikebe/Catalyst-Plugin-Authentication-Credential-Livedoor-0.01/
livedoor Auth API for Catalyst.
----
Chemistry-OpenBabel-1.2.0
http://search.cpan.org/~ghutchis/Chemistry-OpenBabel-1.2.0/
----
Compress-LZF-1.8
http://search.cpan.org/~mlehmann/Compress-LZF-1.8/
extremely light-weight Lempel-Ziv-Free compression
----
DBIx-Class-Indexed-0.01
http://search.cpan.org/~bricas/DBIx-Class-Indexed-0.01/
Index data via external indexing facilities.
----
DBIx-Class-Indexer-WebService-Lucene-0.01
http://search.cpan.org/~bricas/DBIx-Class-Indexer-WebService-Lucene-0.01/
Automatic indexing of DBIx::Class objects via WebService::Lucene
----
DBIx-DBSchema-0.32
http://search.cpan.org/~ivan/DBIx-DBSchema-0.32/
Database-independent schema objects
----
Finance-Math-IRR-0.08
http://search.cpan.org/~erwan/Finance-Math-IRR-0.08/
Calculate the internal rate of return of a cash flow
----
HTML-FormatText-WithLinks-0.09
http://search.cpan.org/~struan/HTML-FormatText-WithLinks-0.09/
HTML to text conversion with links as footnotes
----
HTML-Widget-Plugin-Treeview-0.5
http://search.cpan.org/~lze/HTML-Widget-Plugin-Treeview-0.5/
----
HTTP-Response-Encoding-0.03
http://search.cpan.org/~dankogai/HTTP-Response-Encoding-0.03/
Adds encoding() to HTTP::Response
----
Handel-0.99_18
http://search.cpan.org/~claco/Handel-0.99_18/
A cart/order/checkout framework with AxKit/TT/Catalyst support
----
JSON-1.10
http://search.cpan.org/~makamaka/JSON-1.10/
parse and convert to JSON (JavaScript Object Notation).
----
LWP-UserAgent-Cache-Memcached-0.01
http://search.cpan.org/~shiraiwa/LWP-UserAgent-Cache-Memcached-0.01/
LWP::UserAgent extension with memcached
----
Lingua-FR-Ladl-v0.0.3
http://search.cpan.org/~ingrif/Lingua-FR-Ladl-v0.0.3/
represent, query and investigate the Ladl tables, a french linguistic resource
----
Linux-SysInfo-0.02
http://search.cpan.org/~vpit/Linux-SysInfo-0.02/
Perl interface to the sysinfo(2) Linux system call.
----
Linux-SysInfo-0.03
http://search.cpan.org/~vpit/Linux-SysInfo-0.03/
Perl interface to the sysinfo(2) Linux system call.
----
Linux-Taskstats-Read-3.02
http://search.cpan.org/~scottw/Linux-Taskstats-Read-3.02/
Read Linux taskstats structures
----
Log-Cabin-0.04
http://search.cpan.org/~jorvis/Log-Cabin-0.04/
Partial implementation of Log::Log4perl with reduced disk IO.
----
Mango-0.01000_02
http://search.cpan.org/~claco/Mango-0.01000_02/
An ecommerce solution using Catalyst, Handel and DBIx::Class
----
Math-Polynom-0.11
http://search.cpan.org/~erwan/Math-Polynom-0.11/
Operations on polynomials
----
MogileFS-Client-FilePaths-0.01
http://search.cpan.org/~hachi/MogileFS-Client-FilePaths-0.01/
Client library for use with FilePaths plugin in MogileFS
----
MooseX-Params-Validate-0.01
http://search.cpan.org/~stevan/MooseX-Params-Validate-0.01/
an extension of Params::Validate for using Moose's types
----
POE-Component-CPAN-YACSmoke-0.20
http://search.cpan.org/~bingos/POE-Component-CPAN-YACSmoke-0.20/
bringing the power of POE to CPAN smoke testing.
----
POE-Component-CPAN-YACSmoke-0.21
http://search.cpan.org/~bingos/POE-Component-CPAN-YACSmoke-0.21/
bringing the power of POE to CPAN smoke testing.
----
RT-Extension-ExtractCustomFieldValues-1.6
http://search.cpan.org/~falcone/RT-Extension-ExtractCustomFieldValues-1.6/
----
Template-Provider-Encoding-0.09
http://search.cpan.org/~miyagawa/Template-Provider-Encoding-0.09/
Explicitly declare encodings of your templates
----
Template-Recall-0.07
http://search.cpan.org/~gilad/Template-Recall-0.07/
"Reverse callback" templating system
----
Tk-Wizard-2.003
http://search.cpan.org/~mthurn/Tk-Wizard-2.003/
GUI for step-by-step interactive logical process
----
User-1.8
http://search.cpan.org/~tbone/User-1.8/
API for locating user information regardless of OS
----
WWW-Bugzilla-0.9
http://search.cpan.org/~bmc/WWW-Bugzilla-0.9/
Handles submission/update of bugzilla bugs via WWW::Mechanize.
----
WebService-Livedoor-Auth-0.01
http://search.cpan.org/~ikebe/WebService-Livedoor-Auth-0.01/
[One line description of module's purpose here]
----
Win32-0.27_01
http://search.cpan.org/~jdb/Win32-0.27_01/
Interfaces to some Win32 API Functions
----
mixin-0.06
http://search.cpan.org/~mschwern/mixin-0.06/
Mix-in inheritance, an alternative to multiple inheritance
----
perl-Hardware-UPS-Perl-0.43
http://search.cpan.org/~drulensot/perl-Hardware-UPS-Perl-0.43/
If you're an author of one of these modules, please submit a detailed
announcement to comp.lang.perl.announce, and we'll pass it along.
This message was generated by a Perl program described in my Linux
Magazine column, which can be found on-line (along with more than
200 other freely available past column articles) at
http://www.stonehenge.com/merlyn/LinuxMag/col82.html
print "Just another Perl hacker," # the original
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
------------------------------
Date: 18 Apr 2007 23:51:27 -0700
From: Ray <raykyoto@gmail.com>
Subject: Re: Passing hash to a subroutine
Message-Id: <1176965487.017481.310410@q75g2000hsh.googlegroups.com>
Hi Tad,
On Apr 9, 8:55 pm, Tad McClellan <t...@augustmail.com> wrote:
> Ray <rayky...@gmail.com> wrote:
> > On Apr 7, 11:13 pm, Tad McClellan <t...@augustmail.com> wrote:
> >> What you haven't figured out is how to dereference it within
> >> the function body.
> > I was just looking back at perlreftut to see where I
> > went wrong. I guess read @a and @{$aref} were equivalent and
>
> And they *are* equivalent!
>
> But you didn't want the whole aggregate (array above buthashearlier).
>
> You wanted to index into the aggregate, so you needed the
> equivalent of $a[], which is ${$aref}[].
I see -- I guess the equivalence between the two wasn't immediately
obvious to me. They look so different -- but thanks for this!
Ray
------------------------------
Date: 18 Apr 2007 23:54:05 -0700
From: Ray <raykyoto@gmail.com>
Subject: Re: Passing hash to a subroutine
Message-Id: <1176965645.356513.61840@e65g2000hsc.googlegroups.com>
Hi Michele,
On Apr 9, 6:02 pm, Michele Dondi <bik.m...@tiscalinet.it> wrote:
> On 8 Apr 2007 21:23:43 -0700, "Ray" <rayky...@gmail.com> wrote:
>
> >> > printf (STDOUT "* %s\n", %{$href} -> {"San Francisco"}{"LA"});
>
> >And you also caught me. I am originally a C-programmer and changing to
> >a Perl programming means my Perl code sometimes looks like C. Thanks
>
> Well... that is, in $Larry's words, "officially ok". But using a
> simple print() where it suffices has obvious advantages. It's much
> like when you learn a foreign language and it's fine if you initially
> use its constructs that most resemble your mother tongue, even if
> they're obsolete or unusual; but as you learn more and more you switch
> to more idiomatic ones.
Interesting analogy. Alas, it's hard to break old habits, especially
if your first language (C or English :-) ) has been with you for so
long. But not impossible; hopefully not yet old enough to not being
able to learn new tricks! ;-) Thanks!
Ray
------------------------------
Date: 19 Apr 2007 00:25:42 -0700
From: skieros <nikos1337@gmail.com>
Subject: Re: Server For Rent? Where?
Message-Id: <1176967542.797516.243060@d57g2000hsg.googlegroups.com>
On Apr 19, 1:55 am, Michele Dondi <bik.m...@tiscalinet.it> wrote:
> On 18 Apr 2007 13:48:48 -0700, skieros <nikos1...@gmail.com> wrote:
>
> >I askes this in other forums as well but i also asked here because
> >you people are on the business of web design/programmign and there is
> >a good chanc of you know...
>
> Am I? Whoa, I didn't know!!
Where do you host your perl cgi scripts that you make for yourself an
otthers? :)
------------------------------
Date: Thu, 19 Apr 2007 11:17:34 +0200
From: Michele Dondi <bik.mido@tiscalinet.it>
Subject: Re: Server For Rent? Where?
Message-Id: <lmce23dak5l7peg3dnan05ve8iq9uuq6pg@4ax.com>
On 19 Apr 2007 00:25:42 -0700, skieros <nikos1337@gmail.com> wrote:
>> >I askes this in other forums as well but i also asked here because
>> >you people are on the business of web design/programmign and there is
>> >a good chanc of you know...
>>
>> Am I? Whoa, I didn't know!!
>
>Where do you host your perl cgi scripts that you make for yourself an
>otthers? :)
Would it be such a shocking truth for you to discover that I do *not*
make perl cgi scripts for myself or others? You know, there's no law
forcing me to.
PS: for the *very rare* situations in which I have/want to, I have
access to a few machines kindly offered to me by friends.
Michele
--
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^<R<Y]*YB='
.'KYU;*EVH[.FHF2W+#"\Z*5TI/ER<Z`S(G.DZZ9OX0Z')=~/./g)x2,$_,
256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,
------------------------------
Date: 19 Apr 2007 01:24:07 -0700
From: Brian McCauley <nobull67@gmail.com>
Subject: Re: Socket creation failing with "operation now in progress" error
Message-Id: <1176971047.778283.162320@b58g2000hsg.googlegroups.com>
On Apr 17, 6:55 pm, xhos...@gmail.com wrote:
> Brian McCauley <nobul...@gmail.com> wrote:
> > On Apr 17, 1:17 am, goo...@macrotex.net wrote:
> > > I am attempting to establish a socket connection using the
> > > IO::Socket::INET module and occasionally the socket creation fails
> > > with the message "Operation now in progress". From what I understand,
> > > this error can only happen when attempting to create a socket in non-
> > > blocking mode, never in blocking mode. However, I have explicitly set
> > > the Blocking parameter to 1.
>
> > > Timeout => 30,
> > > Blocking => 1,
>
> > But you also set the timeout parameter, which is another form of non-
> > blocking, and it in fact implemented by putting the socket temporarily
> > into non-blocking mode.
>
> I would expect it to return a better error message in $@ in this case. I
> don't see what path is being taken that doesn't result in a better error
> message in that variable.
Nor do I.
$blocking = $sock->blocking(0) if $timeout;
if (!connect($sock, $addr)) {
if (defined $timeout && $!{EINPROGRESS}) {
require IO::Select;
my $sel = new IO::Select $sock;
if (!$sel->can_write($timeout)) {
$err = $! || (exists &Errno::ETIMEDOUT ? &Errno::ETIMEDOUT : 1);
$@ = "connect: timeout";
}
elsif (!connect($sock,$addr) && not $!{EISCONN}) {
# Some systems refuse to re-connect() to
# an already open socket and set errno to EISCONN.
$err = $!;
$@ = "connect: $!";
}
}
elsif ($blocking || !$!{EINPROGRESS}) {
$err = $!;
$@ = "connect: $!";
}
}
And the only path that ends up with $!=EINPROGRESS is if the select()
reports that the socket is if the IO::Select object's can_write
returns true then the connection drops again before the second
connect(). There should be a better way of checking the status of the
socket when can_write returns true rather than retrying the
connect().
Actually it's unclear why that second connect is there at all, AFAIK
the fact that can_write() was true should be indication enough that
the connection succeeded. If the connection was immediately dropped
then the next operation on the socket should error.
------------------------------
Date: 18 Apr 2007 21:03:23 -0500
From: Lawrence Statton <yankeeinexile@gmail.com>
Subject: Re: UTF16 input file to ISO-8859-1 output
Message-Id: <87abx53ytw.fsf@gmail.com>
Joe Smith <joe@inwap.com> writes:
> R Wood wrote:
>
> > use utf8;
>
> Don't do that.
>
> The pragma "use utf8;" is used in the cases where a perl program
> includes quoted strings containing UTF8 characters, which you don't.
> It does not affect reading or writing UTF8 data - for that you want
> to use the extra options in the open() function.
>
Quoted string or other syntactic elements (or both)?
I am about to go read and be enlightened, but my dimness on this topic
may not be lexically scoped to me :D
That is, I thought utf8.pm was all about (Danger - text outside 7-bit
ASCII coming up)
$numero_de_ņoņos++;
--
Lawrence Statton - lawrenabae@abaluon.abaom s/aba/c/g
Computer software consists of only two components: ones and
zeros, in roughly equal proportions. All that is required is to
place them into the correct order.
------------------------------
Date: 18 Apr 2007 21:50:11 -0500
From: Lawrence Statton <yankeeinexile@gmail.com>
Subject: Re: UTF16 input file to ISO-8859-1 output
Message-Id: <87647t3wnw.fsf@gmail.com>
Lawrence Statton <yankeeinexile@gmail.com> writes:
> I am about to go read and be enlightened, but my dimness on this topic
> may not be lexically scoped to me :D
>
Having read and become enlightened, I will offer, in case any of the
others out there shared in my confusion, from the utf8 perldoc:
Bytes in the source text that have their high-bit set
will be treated as being part of a literal UTF-8
character. This includes most literals such as
identifier names, string constants, and constant regular
expression patterns.
--
Lawrence Statton - lawrenabae@abaluon.abaom s/aba/c/g
Computer software consists of only two components: ones and
zeros, in roughly equal proportions. All that is required is to
place them into the correct order.
------------------------------
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.
NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice.
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 V11 Issue 357
**************************************