[21797] in Perl-Users-Digest
Perl-Users Digest, Issue: 4001 Volume: 10
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Sun Oct 20 14:05:35 2002
Date: Sun, 20 Oct 2002 11:05:08 -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 Sun, 20 Oct 2002 Volume: 10 Number: 4001
Today's topics:
Re: Accessing data from constructor <bongie@gmx.net>
Re: Accessing data from constructor <jkeen@concentric.net>
Re: DBI module INSERT command problem <dgardiner@houston.rr.com>
Re: DBI module INSERT command problem <pilsl_use@goldfisch.at>
Re: File::CounterFile and DEFAULT_DIR? (Tad McClellan)
Re: File::CounterFile and DEFAULT_DIR? <gerry1@dircon.co.uk>
Re: File::CounterFile and DEFAULT_DIR? <Tassilo.Parseval@post.rwth-aachen.de>
Re: gave a2p, s2p a one-liner, want one-liner back <bongie@gmx.net>
Re: gave a2p, s2p a one-liner, want one-liner back <goldbb2@earthlink.net>
Re: How do I know whether a user specify STDIN or comma <vm.mayer@comcast.net>
Re: How do I know whether a user specify STDIN or comma (Tad McClellan)
Re: How do I know whether a user specify STDIN or comma <bongie@gmx.net>
Re: How to parse command line keywords? <bart.lateur@pandora.be>
Re: processing lines in pairs <bongie@gmx.net>
Re: processing lines in pairs <goldbb2@earthlink.net>
Re: References to substrings (Peter Erl)
Re: References to substrings <goldbb2@earthlink.net>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Sun, 20 Oct 2002 15:59:35 +0200
From: "Harald H.-J. Bongartz" <bongie@gmx.net>
Subject: Re: Accessing data from constructor
Message-Id: <1487055.opuC6OHe0b@nyoga.dubu.de>
Tad McClellan wrote:
> James E Keenan <jkeen@concentric.net> wrote:
>> Wrong Perl syntax: @row = qw(1 2 3); # parens, not braces
>
> No, that is correct syntax. You didn't try it, did you?
>
> You can choose just about any punctuation character you
> like for the delimiters.
And even more, for obfuscation. ;-)
% perl -e '@ar = qw a l i f i c a; print join("|",@ar);'
l|i|f|i|c
Ciao,
Harald
--
Harald H.-J. Bongartz <bongie@gmx.net>
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
"I hope to die before I *have* to use Microsoft Word.",
-- Donald E. Knuth, 21.09.2001 in Tuebingen.
------------------------------
Date: 20 Oct 2002 15:39:02 GMT
From: "James E Keenan" <jkeen@concentric.net>
Subject: Re: Accessing data from constructor
Message-Id: <aouimm$emf@dispatch.concentric.net>
"Tad McClellan" <tadmc@augustmail.com> wrote in message
news:slrnar5a0j.aih.tadmc@magna.augustmail.com...
> James E Keenan <jkeen@concentric.net> wrote:
> > "kit" <manutd_kit@yahoo.com> wrote in message
> > news:1751b2b5.0210192317.580b3ea3@posting.google.com...
>
>
> >> @row = qw{ 1 1 1 1 1 1 1 2 4 6 8 10 12 14 15 15 15 15 15
> >> 15 15 14 12 10 8 6 4 2 7 6 5 4 7 6 5 4 9 10 11
> >> 12 9 10 11 12 1 2 3 4 12 13 14 15 15 14 13 12
> >> 4 3 2 1 };
> >
> > Wrong Perl syntax: @row = qw(1 2 3); # parens, not braces
>
>
> No, that is correct syntax. You didn't try it, did you?
>
No, I admit I didn't. When I see a posting with multiple problems (such as
not passing the arrays by reference), I generally refer the posting back to
the OP with a description of the problems and a recommendation on what to
study to fix the problems -- a practice I've adopted from some of the most
frequent posters to this list. In those instances, I don't take the time to
completely rework the OP's code to get it to work. Of course, in those
cases, some of my own remarks may be inaccurate, as was the case here.
------------------------------
Date: Sun, 20 Oct 2002 13:53:06 GMT
From: "Doug" <dgardiner@houston.rr.com>
Subject: Re: DBI module INSERT command problem
Message-Id: <6zys9.167570$8o3.4833015@twister.austin.rr.com>
"peter pilsl" <pilsl_use@goldfisch.at> wrote in message
news:3db28764$1@e-post.inode.at...
> Doug wrote:
>
> >
> > Any comments, or suggestions would be appreciated, as I'm at wits end to
> > figure out why I have this syntax error, especially considering an
update
> > with the same date variable in the same database and the same script
works
> > . Thanks
> >
>
> For future problems I recommend the following:
>
> if you have problems with a certain sql-statement, just print the
statement
> and feed it to the console of your sql-server.
> If the same error occures there its quite clear that its not a
> perl-problem, but a SQL-problem and maybe you'll get a more detailed
> errordescription :)
>
> best,
> peter
>
> --
> peter pilsl
> pilsl_@goldfisch.at
> http://www.goldfisch.at
>
I take it the output from the database on what it received wasn't
sufficient? I'll also assume that since the problem is in a perl script and
it has a syntax error that it is a perl problem. So just how would you
output it? The database log is the most descriptive, as it is the only one
short of using more memory just to store SQL statements to output them to
STDOUT when the log has it also, and is often a better description since it
shows exactly what the database received.
For the record, some hours later, the problem was solved. Since the name of
the field was 'date' the database was getting confused(only answer I have)
since, and I haven't researched this to verify it's correctness, date is
reserved as a special word in SQL. Why it is particular to INSERT and not
UPDATE is beyond me but that's what fixed it. Hopefully it is the same with
other DBD's so that when I move this to the linux machine and use MySQL
instead of Access, I'll only have to change the driver call.
------------------------------
Date: Sun, 20 Oct 2002 18:15:58 +0200
From: peter pilsl <pilsl_use@goldfisch.at>
Subject: Re: DBI module INSERT command problem
Message-Id: <3db2d6ca$1@e-post.inode.at>
Doug wrote:
>
> I take it the output from the database on what it received wasn't
> sufficient? I'll also assume that since the problem is in a perl script
> and
> it has a syntax error that it is a perl problem. So just how would you
> output it? The database log is the most descriptive, as it is the only
> one short of using more memory just to store SQL statements to output them
> to STDOUT when the log has it also, and is often a better description
> since it shows exactly what the database received.
>
no.
First the output in logs often has problems with showing quotes, which is
one of the mainproblem when I work on databases. (I often use the wrong
quotes ;)
Second : even if you submit a wrong SQL-syntax via a perl-script it is no
perl-problem, but a SQL-problem.
So: when you submit a sql-command to the sql-backend via the "certified"
console you can be sure about this. If the command works at the console and
doesnt work in perl, then its a perl-problem (most probably cause you use
wrong quotes around your statement :)
>
> Hopefully it is the same
> with other DBD's so that when I move this to the linux machine and use
> MySQL instead of Access, I'll only have to change the driver call.
>
Dont hope to much. I dont know how deep you use special features, but I
work with mySQL and postgreSQL under linux and while the most basic
statements are the same, porting a program is lot of work.
best,
peter
--
peter pilsl
pilsl_@goldfisch.at
http://www.goldfisch.at
------------------------------
Date: Sun, 20 Oct 2002 08:07:30 -0500
From: tadmc@augustmail.com (Tad McClellan)
Subject: Re: File::CounterFile and DEFAULT_DIR?
Message-Id: <slrnar5aki.ajt.tadmc@magna.augustmail.com>
Gerry Hickman <gerry1@dircon.co.uk> wrote:
> I'm trying to use File::CounterFile cross-platform and I want to set the
> default directory before the counter is created.
The env var is being set "too late" (ie. at runtime).
> I tried to do this (see
> below), but it didn't work. The ENV variable is being ignored inside the
> File::CounterFile module.
>
> use strict;
> use File::CounterFile;
>
> $ENV{TMPDIR} = "/some/folder";
Set the env var _before_ use'ing the module:
BEGIN{ $ENV{TMPDIR} = "/some/folder"; }
use File::CounterFile;
--
Tad McClellan SGML consulting
tadmc@augustmail.com Perl programming
Fort Worth, Texas
------------------------------
Date: Sun, 20 Oct 2002 14:38:42 +0100
From: Gerry Hickman <gerry1@dircon.co.uk>
Subject: Re: File::CounterFile and DEFAULT_DIR?
Message-Id: <3DB2B1E2.EA4D606F@dircon.co.uk>
Thanks Tad, that has solved it!
I'd previously tried setting it before the "use" line and it still
didn't work, but with the BEGIN block it does. Is this a general rule
when using ENV variables? I used to think you _could_ set them at run
time?
Tad McClellan wrote:
>
> Gerry Hickman <gerry1@dircon.co.uk> wrote:
>
> > I'm trying to use File::CounterFile cross-platform and I want to set the
> > default directory before the counter is created.
>
> The env var is being set "too late" (ie. at runtime).
>
> > I tried to do this (see
> > below), but it didn't work. The ENV variable is being ignored inside the
> > File::CounterFile module.
> >
> > use strict;
> > use File::CounterFile;
> >
> > $ENV{TMPDIR} = "/some/folder";
>
> Set the env var _before_ use'ing the module:
>
> BEGIN{ $ENV{TMPDIR} = "/some/folder"; }
> use File::CounterFile;
>
> --
> Tad McClellan SGML consulting
> tadmc@augustmail.com Perl programming
> Fort Worth, Texas
--
Gerry Hickman (London UK)
------------------------------
Date: 20 Oct 2002 13:51:44 GMT
From: "Tassilo v. Parseval" <Tassilo.Parseval@post.rwth-aachen.de>
Subject: Re: File::CounterFile and DEFAULT_DIR?
Message-Id: <aoucdg$ehg$1@nets3.rz.RWTH-Aachen.DE>
[ please do not top-post; posting re-arranged into chronological order ]
Also sprach Gerry Hickman:
> Tad McClellan wrote:
>>
>> Gerry Hickman <gerry1@dircon.co.uk> wrote:
>> > I tried to do this (see
>> > below), but it didn't work. The ENV variable is being ignored inside the
>> > File::CounterFile module.
>> >
>> > use strict;
>> > use File::CounterFile;
>> >
>> > $ENV{TMPDIR} = "/some/folder";
>>
>> Set the env var _before_ use'ing the module:
>>
>> BEGIN{ $ENV{TMPDIR} = "/some/folder"; }
>> use File::CounterFile;
> Thanks Tad, that has solved it!
>
> I'd previously tried setting it before the "use" line and it still
> didn't work, but with the BEGIN block it does. Is this a general rule
> when using ENV variables? I used to think you _could_ set them at run
> time?
You _can_ set it at run time. In this case the problem is that the
module is included before run time, namely at compile time. At this
time, the module inspects $ENV and uses what it finds there. After that,
you change it but the module has no idea that you did it and continues
using the value it found before.
Tassilo
--
$_=q!",}])(tsuJ[{@"tnirp}3..0}_$;//::niam/s~=)]3[))_$-3(rellac(=_$({
pam{rekcahbus;})(rekcah{lrePbus;})(lreP{rehtonabus;})(rehtona{tsuJbus!;
$_=reverse;s/sub/(reverse"bus").chr(32)/xge;tr~\n~~d;eval;
------------------------------
Date: Sun, 20 Oct 2002 15:47:32 +0200
From: "Harald H.-J. Bongartz" <bongie@gmx.net>
Subject: Re: gave a2p, s2p a one-liner, want one-liner back
Message-Id: <6611919.4uX4F9gire@nyoga.dubu.de>
Dan Jacobson wrote:
> For me, the a2p and s2p scripts have got it all wrong: If I give it a
> one liner, I want back a one liner,
One-liners are not portable because correct quoting is always different.
The Windows command prompt needs other quoting than most Unix shells,
bash differs from (t)csh. (On (t)csh, an exclamation mark followed by
digits gets history expanded even if used in single quotes!)
> otherwise it means perl is
> inferior
I don't see the reasoning behind that.
> and I will go looking for a a2python etc. converter [any?]
You're free to do so (although I've never seen a Python one-liner; how
would you do this indentation stuff in one line?). Why do you want to
convert your awk/sed scripts in the first place? Either you want to
port them to an architecture which is not supported by awk and sed (so
you would be happy to get a solution at all) or you want to add some
functionality that is not provided (in which case I would not want to
do that on a single line).
One-liners are a good means if you know a (scripting) language and you
want a quick solution to a small problem. Converting one-liners from
one language to another makes no sense, IMHO. Either you know the
target language, so you could have coded it as easily there in the
first place, or you don't, then why should you be interested in the
converted version?
> BTW, the version is
...the one of your Perl, unless your installation is broken.
Nevertheless, an added version and/or help option would do no harm, I
think. :)
Ciao,
Harald
--
Harald H.-J. Bongartz <bongie@gmx.net>
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
The biggest improvement in performance is the non-working-to-working
transition. -- John Ousterhout
------------------------------
Date: Sun, 20 Oct 2002 13:34:20 -0400
From: Benjamin Goldberg <goldbb2@earthlink.net>
Subject: Re: gave a2p, s2p a one-liner, want one-liner back
Message-Id: <3DB2E91C.53824F65@earthlink.net>
Dan Jacobson wrote:
>
> For me, the a2p and s2p scripts have got it all wrong: If I give it a
> one liner, I want back a one liner, otherwise it means perl is
> inferior and I will go looking for a a2python etc. converter [any?]
> $ echo '{print $5}'|a2p|wc -l
> 16
[snip]
> Never mind the version then. a2p and s2p should add a switch to
> produce terse one liners for "perl -wlpe" etc.
How terse is terse? I'm sure that for some programs, you could simply
remove all the newlines, and your program would work fine.
echo `a2p -e '{print $5}'` | wc -l
--
my $n = 2; print +(split //, 'e,4c3H r ktulrnsJ2tPaeh'
."\n1oa! er")[map $n = ($n * 24 + 30) % 31, (42) x 26]
------------------------------
Date: Sun, 20 Oct 2002 09:16:29 -0400
From: Mike Mayer <vm.mayer@comcast.net>
Subject: Re: How do I know whether a user specify STDIN or command invocation argument filename
Message-Id: <vm.mayer-5AC37B.09162820102002@news-east.giganews.com>
In article <3DB243DB.138702B6@acm.org>,
"John W. Krahn" <krahnj@acm.org> wrote:
> Soon wrote:
> >
> > I am writing a perl program similar like wc in UNIX. How do I know
> > whether the user provide input via <STDIN> (redirect a file from the
> > command line) or via specifying one or more files as invocation
> > arguments @ARGV?
>
> You don't need to know if you use the <> special null filehandle.
>
> perldoc perlop
> [snip]
> The null filehandle <> is special: it can be used to
> emulate the behavior of sed and awk. Input from <> comes
> either from standard input, or from each file listed on
> the command line. Here's how it works: the first time <>
> is evaluated, the @ARGV array is checked, and if it is
> empty, `$ARGV[0]' is set to "-", which when opened gives
> you standard input. The @ARGV array is then processed as
> a list of filenames.
>
>
>
> John
What happens if there are no valid filenames on the command line?
I am thinking both of the case where a filename was listed but didn't
actually exist and the case where other command line options are
listed (eg. -p myprinter, action=buy, etc...)
I have always shied away from <> for these reasons.
mike
------------------------------
Date: Sun, 20 Oct 2002 08:31:37 -0500
From: tadmc@augustmail.com (Tad McClellan)
Subject: Re: How do I know whether a user specify STDIN or command invocation argument filename
Message-Id: <slrnar5c1p.bqj.tadmc@magna.augustmail.com>
Mike Mayer <vm.mayer@comcast.net> wrote:
> In article <3DB243DB.138702B6@acm.org>,
> "John W. Krahn" <krahnj@acm.org> wrote:
>> You don't need to know if you use the <> special null filehandle.
> What happens if there are no valid filenames on the command line?
What happened when you tried it?
> and the case where other command line options are
> listed (eg. -p myprinter, action=buy, etc...)
Then take them out of @ARGV before you get to the diamond operator.
--
Tad McClellan SGML consulting
tadmc@augustmail.com Perl programming
Fort Worth, Texas
------------------------------
Date: Sun, 20 Oct 2002 16:04:23 +0200
From: "Harald H.-J. Bongartz" <bongie@gmx.net>
Subject: Re: How do I know whether a user specify STDIN or command invocation argument filename
Message-Id: <2179804.XWxFkWaX3Y@nyoga.dubu.de>
Mike Mayer wrote:
> I have always shied away from <> for these reasons.
So just dare to use it and get acquainted with it. It's one of the most
useful idioms Perl has to offer.
Ciao,
Harald
--
Harald H.-J. Bongartz <bongie@gmx.net>
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
++$sheep while !$asleep;
------------------------------
Date: Sun, 20 Oct 2002 17:21:11 GMT
From: Bart Lateur <bart.lateur@pandora.be>
Subject: Re: How to parse command line keywords?
Message-Id: <3ap5rucokoic6t11kv0kvrke8sij179otj@4ax.com>
chris wrote:
>Given command line
>myscript.pl parm1=1234 parm2=abc
>
>Do I parse this with GetOptions?
If you lean GetOptions::Long, then I think you'll need to add "--" (two
hyphens) in front of each name/value pair.
You can always hardcode your own command line parsing routines, like:
while(@ARGV and $ARGV[0] =~ /=/) {
local $_ = shift @ARGV;
my($key, value) = split /=/, $_, 2;
$::opt{$key} = $value;
}
This will fill in the parameters into the hash %opt in package main, AKA
%::opt.
HTH,
Bart.
------------------------------
Date: Sun, 20 Oct 2002 15:07:01 +0200
From: "Harald H.-J. Bongartz" <bongie@gmx.net>
Subject: Re: processing lines in pairs
Message-Id: <1104965.rkrXLp2Z59@nyoga.dubu.de>
Benjamin Goldberg wrote:
> my $buffer = "";
> my %escapes = ( "\n" => "", "n", "\n" );
> my $line_re = qr/(?s:\\.|[^\\\n])*\n/;
> while(sysread INDEX, $buffer, 8192, length $buffer) {
> # see if we have two whole lines (possibly with
> # escaped newlines in them).
> s/^($line_re)($line_re)// or next;
IMHO this should read
$buffer =~ s/^.....
> # move the two lines from the dollar-digit variables
> # into normal variables.
> my ($line1, $line2) = ($1, $2);
>
> # unescape the two lines.
> $line =~ s/\\(.)/
and here I think you mean
$_ =~ s/\\(.)/
or just
s/\\(.)/
> my $x = $escapes{$1};
> defined($x) ? $x : $1;
> /sge for $line1, $line2;
>
> # parse them.
> my ($file1, $text1) = pictureline($line1);
> my ($file2, $text2) = pictureline($line2);
> .... stuff ...
>
> # try another s/// before doing another sysread.
> redo;
> }
> # deal with anything left in $buffer.
>
> [untested]
Ciao,
Harald
--
Harald H.-J. Bongartz <bongie@gmx.net>
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
"I stand by all the misstatements that I've made."
-- George W. Bush Jr.
------------------------------
Date: Sun, 20 Oct 2002 13:29:35 -0400
From: Benjamin Goldberg <goldbb2@earthlink.net>
Subject: Re: processing lines in pairs
Message-Id: <3DB2E7FF.B8164A79@earthlink.net>
Harald H.-J. Bongartz wrote:
>
> Benjamin Goldberg wrote:
[snip]
> > while(sysread INDEX, $buffer, 8192, length $buffer) {
> > # see if we have two whole lines (possibly with
> > # escaped newlines in them).
> > s/^($line_re)($line_re)// or next;
>
> IMHO this should read
> $buffer =~ s/^.....
[snip]
> > # unescape the two lines.
> > $line =~ s/\\(.)/
>
> and here I think you mean
> $_ =~ s/\\(.)/
> or just
> s/\\(.)/
>
> > my $x = $escapes{$1};
> > defined($x) ? $x : $1;
> > /sge for $line1, $line2;
Yes to both, thanks.
--
my $n = 2; print +(split //, 'e,4c3H r ktulrnsJ2tPaeh'
."\n1oa! er")[map $n = ($n * 24 + 30) % 31, (42) x 26]
------------------------------
Date: 20 Oct 2002 07:58:31 -0700
From: p76e160a4@hotmail.com (Peter Erl)
Subject: Re: References to substrings
Message-Id: <9fc0467f.0210200658.3b37c6f8@posting.google.com>
Benjamin Goldberg <goldbb2@earthlink.net> wrote in message news:<3DB274DD.54EE0AA0@earthlink.net>...
> The problem is that the substr ref actually points to the opcode.
Thanks for explaining this Benjamin. I added the eval to my test
program, unfortunately it appears the eval context takes a copy
of $data, defeating my goal of minimizing the DRS. Your other
solution is much more appealing, might I say magic! The only
drawback is that $self->{indx} seems to take about 40 bytes for
each element in a small test file (25M). I presume some of this
is wastage from having to remap and copy the data structure as it
grows.
> If your STDIN is a file, then you could probably use Tie::File on it,
> with much less hassle.
Thanks for the pointer, it's certainly much leaner on memory, although
it seems to index a lot slower than yours.
Cheers,
Pete.
------------------------------
Date: Sun, 20 Oct 2002 13:27:58 -0400
From: Benjamin Goldberg <goldbb2@earthlink.net>
Subject: Re: References to substrings
Message-Id: <3DB2E79E.D1BD1421@earthlink.net>
Peter Erl wrote:
> Benjamin Goldberg:
>
> > The problem is that the substr ref actually points to the opcode.
>
> Thanks for explaining this Benjamin. I added the eval to my test
> program, unfortunately it appears the eval context takes a copy
> of $data, defeating my goal of minimizing the DRS. Your other
> solution is much more appealing, might I say magic! The only
> drawback is that $self->{indx} seems to take about 40 bytes for
> each element in a small test file (25M).
This is because each element is not merely an integer (which would be a
mere 4 or 8 bytes), but a "scalar value", which means that it's got all
sorts of extra stuff such as a refcount, a slot for a string pointer, a
slot for a symbol table hash for it to be blessed into, etc.
Come to think of it, since perl (by default) uses doubles, not ints, for
numbers, you might be able to decrease memory usage slightly by adding
'use integer' somewhere appropriate.
Or, better yet, replace that array of integer indices with a packed
string vector. See perldoc -f pack and perldoc -f vec.
> I presume some of this is wastage from having to remap and copy the
> data structure as it grows.
No -- such 'wastage' would result in using extra cpu cycles, but not
extra memory.
Further, perl is sufficiently clever to avoid having to reallocate
arrays too often.
> > If your STDIN is a file, then you could probably use Tie::File on
> > it, with much less hassle.
>
> Thanks for the pointer, it's certainly much leaner on memory, although
> it seems to index a lot slower than yours.
Well, for one thing, it doesn't read the whole file in first, the way
mine does. It reads in only relatively small blocks of data, and
discards them when it's possible/necessary.
--
my $n = 2; print +(split //, 'e,4c3H r ktulrnsJ2tPaeh'
."\n1oa! er")[map $n = ($n * 24 + 30) % 31, (42) x 26]
------------------------------
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 4001
***************************************