[26154] in Perl-Users-Digest
Perl-Users Digest, Issue: 8345 Volume: 10
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Aug 22 06:05:43 2005
Date: Mon, 22 Aug 2005 03:05:06 -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 Mon, 22 Aug 2005 Volume: 10 Number: 8345
Today's topics:
Re: Best Linux distro for range of Perl modules <kkeller-usenet@wombat.san-francisco.ca.us>
Re: Parse::RecDescent and unordered rules <zen13097@zen.co.uk>
Pater matching and backreference <josef.moellers@fujitsu-siemens.com>
Re: Pater matching and backreference (Anno Siegel)
Re: Pater matching and backreference <josef.moellers@fujitsu-siemens.com>
Re: Pater matching and backreference <tassilo.von.parseval@rwth-aachen.de>
Re: Pater matching and backreference <bart.lateur@pandora.be>
perl strings <cristi@medialab.sissa.it>
Unusual warning - what's it trying tell me? <nomail@hursley.ibm.com>
Re: Unusual warning - what's it trying tell me? <cwilbur@chromatico.net>
Re: Unusual warning - what's it trying tell me? <nomail@hursley.ibm.com>
Re: Use of uninitialized value Error <nospam@nospam.com>
Using Crypt::DSA <mikef@ack.berkeley.edu>
Re: Using Crypt::DSA <1usa@llenroc.ude.invalid>
Re: Using Crypt::DSA <mikef@brillig.security.berkeley.edu>
Re: Using Crypt::DSA <1usa@llenroc.ude.invalid>
Re: Using Crypt::DSA <sisyphus1@nomail.afraid.org>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Sun, 21 Aug 2005 18:51:23 -0700
From: Keith Keller <kkeller-usenet@wombat.san-francisco.ca.us>
Subject: Re: Best Linux distro for range of Perl modules
Message-Id: <slnnt2x04a.ln2@goaway.wombat.san-francisco.ca.us>
On 2005-08-21, zaphod <none@none.com> wrote:
> I don't want to be compiling from source as the aim is to get a lot of Linux
> boxen up and running quickly.
So make your own packages and install them on each target. You still
need to compile from source, but only once, not N times.
--keith
--
kkeller-usenet@wombat.san-francisco.ca.us
(try just my userid to email me)
AOLSFAQ=http://wombat.san-francisco.ca.us/cgi-bin/fom
see X- headers for PGP signature information
------------------------------
Date: 22 Aug 2005 07:39:00 GMT
From: Dave Weaver <zen13097@zen.co.uk>
Subject: Re: Parse::RecDescent and unordered rules
Message-Id: <43098114$0$14057$da0feed9@news.zen.co.uk>
Trond Michelsen <trondmm-usenet@crusaders.no> wrote:
> I'm completely new to Parse::RecDescent and parsing in general (I know
> my regexes, though). I'm trying to write a parser to read a config-file,
> and I've managed to rules for all the relevant parts of the config-file,
> and everything seems to work fine. But, there are several parts of the
> config-file where the order doesn't (well, shouldn't) matter, and I was
> wondering if there is a simple way to tell Parse::RecDescent that the
> order of these rules doesn't matter?
Perhaps something like:
example: item(s)
item: name | rank | description
This, of course, allows any or all items to be omitted, but a
post-parse check to ensure all required items have been specified
should sort that out.
------------------------------
Date: Mon, 22 Aug 2005 09:07:17 +0200
From: Josef Moellers <josef.moellers@fujitsu-siemens.com>
Subject: Pater matching and backreference
Message-Id: <debtei$ep9$1@nntp.fujitsu-siemens.com>
Hi,
I am trying to escape spaces but apparently get into a naming conflict:
#! /usr/bin/perl
use warnings;
use strict;
open(OGG, "ogginfo \"$ARGV[0]\" |") or die "$0: cannot open $ARGV[0]\n";
while (<OGG>) {
last if /^User comments section follows/;
}
while (<OGG>) {
chomp;
if (/^\s+title=3D(.*)/) {
my $title =3D $1;
$title =3D~ s/\s/\\$1/g;
print " --tt $title";
next;
}
if (/^\s+artist=3D(.*)/) {
my $artist =3D $1;
$artist =3D~ s/\s/\\$1/g;
print " --ta $artist";
next;
}
}
close OGG;
exit 0;
If the artist or title name contains spaces, I get the error message
Use of uninitialized value in concatenation (.) or string at ./xinfo=20
line 14, <OGG> line 14.
once for each space.
I assume this is due to the fact that $1 is defined when the substitute=20
is compiled.
How can I do the substiture?
Josef
--=20
Josef M=F6llers (Pinguinpfleger bei FSC)
If failure had no penalty success would not be a prize
-- T. Pratchett
------------------------------
Date: 22 Aug 2005 08:00:08 GMT
From: anno4000@lublin.zrz.tu-berlin.de (Anno Siegel)
Subject: Re: Pater matching and backreference
Message-Id: <dec0m8$fmp$1@mamenchi.zrz.TU-Berlin.DE>
Josef Moellers <josef.moellers@fujitsu-siemens.com> wrote in comp.lang.perl.misc:
> Hi,
>
> I am trying to escape spaces but apparently get into a naming conflict:
>
> #! /usr/bin/perl
>
> use warnings;
> use strict;
>
> open(OGG, "ogginfo \"$ARGV[0]\" |") or die "$0: cannot open $ARGV[0]\n";
> while (<OGG>) {
> last if /^User comments section follows/;
> }
> while (<OGG>) {
> chomp;
> if (/^\s+title=(.*)/) {
> my $title = $1;
> $title =~ s/\s/\\$1/g;
$title =~ s/(\s)/\\$1/g;
You forgot to capture.
> print " --tt $title";
> next;
> }
> }
> close OGG;
> exit 0;
>
> If the artist or title name contains spaces, I get the error message
> Use of uninitialized value in concatenation (.) or string at ./xinfo
> line 14, <OGG> line 14.
> once for each space.
Anno
--
If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers.
------------------------------
Date: Mon, 22 Aug 2005 10:15:22 +0200
From: Josef Moellers <josef.moellers@fujitsu-siemens.com>
Subject: Re: Pater matching and backreference
Message-Id: <dec1dl$5k5$1@nntp.fujitsu-siemens.com>
Anno Siegel wrote:
> Josef Moellers <josef.moellers@fujitsu-siemens.com> wrote in comp.lang=
=2Eperl.misc:
>> $title =3D~ s/\s/\\$1/g;
> $title =3D~ s/(\s)/\\$1/g;
>=20
> You forgot to capture.
Indeed, thanks. I apparently mixed $& with $1:
$title =3D~ s/\s/\\$&/g;
would have worked, too (TMTOWTDI).
Thanks again,
Josef
--=20
Josef M=F6llers (Pinguinpfleger bei FSC)
If failure had no penalty success would not be a prize
-- T. Pratchett
------------------------------
Date: Mon, 22 Aug 2005 10:36:49 +0200
From: "Tassilo v. Parseval" <tassilo.von.parseval@rwth-aachen.de>
Subject: Re: Pater matching and backreference
Message-Id: <slrndgj3l1.157.tassilo.von.parseval@localhost.localdomain>
Also sprach Josef Moellers:
> I am trying to escape spaces but apparently get into a naming conflict:
>
> #! /usr/bin/perl
>
> use warnings;
> use strict;
>
> open(OGG, "ogginfo \"$ARGV[0]\" |") or die "$0: cannot open $ARGV[0]\n";
> while (<OGG>) {
> last if /^User comments section follows/;
> }
> while (<OGG>) {
> chomp;
> if (/^\s+title=(.*)/) {
> my $title = $1;
> $title =~ s/\s/\\$1/g;
During this match the previous value of $1 (the one you saved in $title)
is being reset because the match succeeds. But since you don't capture
any of the matches, you end up with undef in $1. As I understand you,
you want to escape all spaces in $title. In order to refer to the found
spaces with $1, you have to capture them:
$title =~ s/(\s)/\\$1/g;
[...]
> If the artist or title name contains spaces, I get the error message
> Use of uninitialized value in concatenation (.) or string at ./xinfo
> line 14, <OGG> line 14.
> once for each space.
> I assume this is due to the fact that $1 is defined when the substitute
> is compiled.
No, $1 is defined during matching time. Once a pattern match succeeds
previous values of ${1|2|...} are lost. They remain their old value only
if the new match fails. This happens regardless of whether your second
match is capturing or not.
Tassilo
--
use bigint;
$n=71423350343770280161397026330337371139054411854220053437565440;
$m=-8,;;$_=$n&(0xff)<<$m,,$_>>=$m,,print+chr,,while(($m+=8)<=200);
------------------------------
Date: Mon, 22 Aug 2005 08:49:28 GMT
From: Bart Lateur <bart.lateur@pandora.be>
Subject: Re: Pater matching and backreference
Message-Id: <ab4jg15naakc6cp03d9mai4e97mvmelqru@4ax.com>
Josef Moellers wrote:
>> Josef Moellers <josef.moellers@fujitsu-siemens.com> wrote in comp.lang.perl.misc:
> >> $title =~ s/\s/\\$1/g;
>> $title =~ s/(\s)/\\$1/g;
>>
>> You forgot to capture.
>
>Indeed, thanks. I apparently mixed $& with $1:
>$title =~ s/\s/\\$&/g;
>would have worked, too (TMTOWTDI).
Except use of $& would slow *every* regex in your script, and in all
modules, down.
--
Bart.
------------------------------
Date: Mon, 22 Aug 2005 11:52:19 +0200
From: Cristian Zoicas <cristi@medialab.sissa.it>
Subject: perl strings
Message-Id: <dec7l7$uue$1@newsfeed.cineca.it>
Hello all
I would like to know more about the perl strings. Is there
any documentation explaining in detail what a perl string
can contain ?
For example, right now I have written the following piece of program
and I would like to know if it is a valid one for reading binary files:
open( INFILE, "f.txt" );
while( <INFILE> )
{
print( ":" . $_ );
}
thx.
cristi
------------------------------
Date: Mon, 22 Aug 2005 09:40:35 +0100
From: Derek Fountain <nomail@hursley.ibm.com>
Subject: Unusual warning - what's it trying tell me?
Message-Id: <43098fbd$0$63288$892e7fe2@authen.white.readfreenews.net>
I've just inherited a rather horrible bit of code which I'm making run
with use strict. (Yes, it's that bad.) It contains this:
if ( ( $e > ( $rt + $ett ) )
&& ( $rt ne "" )
&& ( ${kill} == $TRUE ) )
{
where $kill is a local (my) variable. This produces this:
"Ambiguous use of ${kill} resolved to $kill at ..."
If I remove the {} from around the kill (which are unnecessary anyway)
then the problem goes away. I've never seen that and it puzzles me.
What's it trying to tell me? The function contains a varible called
$killed is that makes a difference...
------------------------------
Date: Mon, 22 Aug 2005 05:01:58 -0400
From: Charlton Wilbur <cwilbur@chromatico.net>
Subject: Re: Unusual warning - what's it trying tell me?
Message-Id: <m21x4mfipl.fsf@ubiquity.chromatico.net>
>>>>> "DF" == Derek Fountain <nomail@hursley.ibm.com> writes:
DF> && ( ${kill} == $TRUE ) )
DF> where $kill is a local (my) variable. This produces this:
DF> "Ambiguous use of ${kill} resolved to $kill at ..."
DF> If I remove the {} from around the kill (which are unnecessary
DF> anyway) then the problem goes away. I've never seen that and
DF> it puzzles me. What's it trying to tell me?
There's a builtin function called kill; perldoc -f kill.
${kill} can legitimately be interpreted as either $kill or ${kill()};
Perl is warning you that it's interpreting it as $kill so that if you
really meant ${kill()} you can rewrite that line.
Removing the {} in that case is probably the wise thing to do.
Charlton
--
cwilbur at chromatico dot net
cwilbur at mac dot com
------------------------------
Date: Mon, 22 Aug 2005 10:54:24 +0100
From: Derek Fountain <nomail@hursley.ibm.com>
Subject: Re: Unusual warning - what's it trying tell me?
Message-Id: <4309a0e5$0$69115$892e7fe2@authen.white.readfreenews.net>
> There's a builtin function called kill; perldoc -f kill.
So there is. I forgot about that. :o} Make perfect sense now...
Thanks.
------------------------------
Date: Sun, 21 Aug 2005 23:59:25 -0400
From: "daniel kaplan" <nospam@nospam.com>
Subject: Re: Use of uninitialized value Error
Message-Id: <1124683086.39494@nntp.acecape.com>
"A. Sinan Unur" <1usa@llenroc.ude.invalid> wrote in message
news:Xns96B9B709FE392asu1cornelledu@127.0.0.1...
>
> To suppress the warning, you can use
> no warnings 'unintialized';
>
> > Replace this : my $came_from = $ENV{'HTTP_REFERER'};
>> with : my $came_from = 'I must learn proper CGI programming
first';
>
> and see if the warning disappears.
So what I did was shorten the code, to makefinding this warning more
managable. It is listed below at ***.
But even after changing:
my $came_from = $ENV{'HTTP_REFERER'};
to:
my $came_from = 'You need to learn to be nicer to others';
the warning still occured.
So it's down to what is below, and I finally found the one line I can
comment IN or OUT, and cause the warning to disappear. Essentially, if I
comment out the SECOND line in:
my $ema = "";
$ema = $q->param('email');
then the warning diappears. Which means I really have to ask what is going
on here, because now I am really confused.
As for,
>>>I will also suggest, at the very least, that you use HTML::Template with
your scripts.
Am just curious, for writing small HTML output with my Perl scriptts, which
is why I am trying to do it this way. Is that considered ok? Or must I use
HTML::Template? Am I that wrong in attempting this way?
Thanks again,
Daniel
*** code
#!/usr/bin/perl
use warnings;
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
my $q = new CGI;
my $out = "Hello";
my $ema = "";
$ema = $q->param('email');
PrintSurvey();
print $q->header();
print $out;
exit 0;
sub PrintSurvey
{
$out = qq^
<HTML>
<HEAD>
<TITLE>Closet Music Survey</TITLE>
</HEAD>
<body bgcolor="#EEEEFF" text="#000000" link="#0000FF" vlink="#660033"
background="">
<FORM name="MusicSurvey" enctype="multipart/form-data"
action="http://www.fourgauchos.com/cgi-bin/recordsurvey_4.pl" method="POST">
<table border="0" CELLPADDING="5">
<tr><td colspan="2"> </td></tr>
<tr>
<td>
<input type="text" name="email" value="^ . $ema . qq^" maxlength=64
size = 32>
</td>
</tr>
<tr><td colspan="2"> </td></tr>
</table>
<INPUT type="submit" value="submit">
</form>
</body>
</html>^;
}
------------------------------
Date: Sun, 21 Aug 2005 22:43:45 +0000 (UTC)
From: Mike Friedman <mikef@ack.berkeley.edu>
Subject: Using Crypt::DSA
Message-Id: <deb031$il3$1@agate.berkeley.edu>
I'm looking at Crypt::DSA, in particular the docs from
CPAN. One thing I can't seem to grasp from the documentation:
How do I extract (and write to disk) just the public key, after
I've generated a DSA key object? Unlike Crypt::RSA, where keygen
returns a list consisting of the public and private keys as
separate scalars, it seems that the DSA keygen method returns
only a single scalar, which supposedly contains both the public
and private portions of the key.
Now, the only way I see to write out a key is with the 'key->write'
method, but when I use $key->write (where '$key' is what's returned
from keygen), I get just one object written and it's labeled
(internally) as a private key.
What if I want to create a file containing just the public portion,
so I can distribute it?
I must admit that the documentation for Crypt::DSA::Key, which
should explain this, is not at all clear to me. The syntax for
Crypt::DSA is supposed to be modeled after that of Crypt::RSA,
but in this area there's clearly a difference and I don't
understand it.
Thanks.
Mike
------------------------------
Date: Sun, 21 Aug 2005 22:50:47 GMT
From: "A. Sinan Unur" <1usa@llenroc.ude.invalid>
Subject: Re: Using Crypt::DSA
Message-Id: <Xns96B9BFB1CB90asu1cornelledu@127.0.0.1>
Mike Friedman <mikef@ack.berkeley.edu> wrote in news:deb031$il3$1
@agate.berkeley.edu:
> How do I extract (and write to disk) just the public key,
...
> I must admit that the documentation for Crypt::DSA::Key, which
> should explain this, is not at all clear to me.
I have never used the said modules, but, looking at the documentation:
<URL:http://search.cpan.org/~btrott/Crypt-DSA-0.13/lib/Crypt/DSA/Key.pm>
Any of the key attributes can be accessed through combination get/set
methods. The key attributes are: p, q, g, priv_key, and pub_key. For
example:
$key->p($p);
my $p2 = $key->p;
...
So, I would try
printf "Public key: %s\n", $key->pub_key;
to print the public key.
Sinan
--
A. Sinan Unur <1usa@llenroc.ude.invalid>
(reverse each component and remove .invalid for email address)
comp.lang.perl.misc guidelines on the WWW:
http://mail.augustmail.com/~tadmc/clpmisc/clpmisc_guidelines.html
------------------------------
Date: Sun, 21 Aug 2005 23:15:14 +0000 (UTC)
From: Mike Friedman <mikef@brillig.security.berkeley.edu>
Subject: Re: Using Crypt::DSA
Message-Id: <deb1u2$j2j$1@agate.berkeley.edu>
A. Sinan Unur <1usa@llenroc.ude.invalid> wrote:
>
> Any of the key attributes can be accessed through combination get/set
> methods. The key attributes are: p, q, g, priv_key, and pub_key. For
> example:
>
> $key->p($p);
> my $p2 = $key->p;
> ...
>
> So, I would try
>
> printf "Public key: %s\n", $key->pub_key;
>
> to print the public key.
>
> Sinan
Sinan,
I had already tried that and, indeed, it might be technically
correct. But what I really want is an output file that is ASN.1
encoded and in a standard PEM key format, which is what you get
when you use the key->write method. It's just that the latter
seems to give only a private key file (which may actually include
the public key, but that's just speculation on my part).
Mike
------------------------------
Date: Sun, 21 Aug 2005 23:20:19 GMT
From: "A. Sinan Unur" <1usa@llenroc.ude.invalid>
Subject: Re: Using Crypt::DSA
Message-Id: <Xns96B9C4B30EE9Dasu1cornelledu@127.0.0.1>
Mike Friedman <mikef@brillig.security.berkeley.edu> wrote in news:deb1u2
$j2j$1@agate.berkeley.edu:
> A. Sinan Unur <1usa@llenroc.ude.invalid> wrote:
>>
>> Any of the key attributes can be accessed through combination get/set
>> methods. The key attributes are: p, q, g, priv_key, and pub_key. For
>> example:
>>
>> $key->p($p);
>> my $p2 = $key->p;
>> ...
>>
>> So, I would try
>>
>> printf "Public key: %s\n", $key->pub_key;
>>
>> to print the public key.
>>
>> Sinan
...
> I had already tried that and, indeed, it might be technically
> correct. But what I really want is an output file that is ASN.1
> encoded and in a standard PEM key format, which is what you get
> when you use the key->write method. It's just that the latter
> seems to give only a private key file (which may actually include
> the public key, but that's just speculation on my part).
Hmmm ... Sorry. I misunderstood the question.
Unfortunately, I don't know the answer to your question. Good luck.
Sinan
--
A. Sinan Unur <1usa@llenroc.ude.invalid>
(reverse each component and remove .invalid for email address)
comp.lang.perl.misc guidelines on the WWW:
http://mail.augustmail.com/~tadmc/clpmisc/clpmisc_guidelines.html
------------------------------
Date: Mon, 22 Aug 2005 14:08:21 +1000
From: "Sisyphus" <sisyphus1@nomail.afraid.org>
Subject: Re: Using Crypt::DSA
Message-Id: <43094fe9$0$8993$afc38c87@news.optusnet.com.au>
"Mike Friedman" <mikef@brillig.security.berkeley.edu> wrote in message
> >
> > So, I would try
> >
> > printf "Public key: %s\n", $key->pub_key;
> >
> > to print the public key.
> >
> > Sinan
>
> Sinan,
>
> I had already tried that and, indeed, it might be technically
> correct. But what I really want is an output file that is ASN.1
> encoded and in a standard PEM key format, which is what you get
> when you use the key->write method. It's just that the latter
> seems to give only a private key file (which may actually include
> the public key, but that's just speculation on my part).
>
Do you have Convert::PEM installed ? It's not a pre-requisite for
Crypt::DSA, but it might help you get at the answers you want. I don't
understand PEM format at all - if you're in the same boat then maybe there's
something in the openssl/doc/crypto/pem.pod for you.
Included below is a modified version of '04-pem.t' which is part of the
Crypt::DSA test suite. It demonstrates that the pem file does indeed hold
both public and private key information (by extracting that and other
information from
the pem file that '04-pem.t' generates).
Hth.
Cheers,
Rob
# $Id: 04-pem.t,v 1.4 2001/04/22 23:58:39 btrott Exp $
use strict;
use Test;
use Crypt::DSA;
use Crypt::DSA::Key;
my $no_pem;
BEGIN {
eval "use Convert::PEM;";
$no_pem = $@;
if ($no_pem) {
print "1..0 skipping\n";
exit;
}
plan tests => 12;
}
my $keyfile = "./dsa-key.pem";
my $dsa = Crypt::DSA->new;
my $key = $dsa->keygen( Size => 512 );
my $key2;
skip($no_pem, $key->write( Type => 'PEM', Filename => $keyfile));
$key2 = Crypt::DSA::Key->new( Type => 'PEM', Filename => $keyfile );
skip($no_pem, $key->p, $key2->p);
skip($no_pem, $key->q, $key2->q);
skip($no_pem, $key->g, $key2->g);
skip($no_pem, $key->pub_key, $key2->pub_key);
skip($no_pem, $key->priv_key, $key2->priv_key);
# There's an option (not used here)
# to password-protect dsa-key.pem.
skip($no_pem, $key->write( Type => 'PEM', Filename => $keyfile));
$key2 = Crypt::DSA::Key->new( Type => 'PEM', Filename => $keyfile);
skip($no_pem, $key->p, $key2->p);
skip($no_pem, $key->q, $key2->q);
skip($no_pem, $key->g, $key2->g);
skip($no_pem, $key->pub_key, $key2->pub_key);
skip($no_pem, $key->priv_key, $key2->priv_key);
#unlink $keyfile;
print "Public: ", $key->pub_key, "\n";
print "Private: ", $key->priv_key, "\n";
print "Total: ", $key->write, "\n";
# To show that dsa-key.pem does hold both private
# and public key information :
my $pem = Convert::PEM->new(
Name => "DSA PRIVATE KEY",
ASN => qq(
DSAPrivateKey SEQUENCE {
version INTEGER,
p INTEGER,
q INTEGER,
g INTEGER,
pub_key INTEGER,
priv_key INTEGER
}
));
my $pkey = $pem->read(
Filename => $keyfile
);
my %deref = %$pkey;
for(keys(%deref)) {print "\n$_: $deref{$_}\n"}
print "\n";
my %d = %{$deref{DSAPrivateKey}};
for (keys(%d)) {print "$_ : $d{$_}\n"}
------------------------------
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 V10 Issue 8345
***************************************