[30114] in Perl-Users-Digest
Perl-Users Digest, Issue: 1357 Volume: 11
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Wed Mar 12 21:09:43 2008
Date: Wed, 12 Mar 2008 18:09:11 -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 Wed, 12 Mar 2008 Volume: 11 Number: 1357
Today's topics:
Fastest way to find a match? <workitharder@gmail.com>
Re: Fastest way to find a match? <joost@zeekat.nl>
Re: Fastest way to find a match? <ben@morrow.me.uk>
Re: Fastest way to find a match? <john@castleamber.com>
Re: help with a regex <donebrowsers@yahoo.com>
Re: help with a regex <uri@stemsystems.com>
Re: help with a regex <donebrowsers@yahoo.com>
Re: help with a regex <uri@stemsystems.com>
Re: help with a regex <m@rtij.nl.invlalid>
Re: help with a regex <donebrowsers@yahoo.com>
Re: help with a regex <jurgenex@hotmail.com>
Re: help with a regex <donebrowsers@yahoo.com>
Re: help with a regex <ben@morrow.me.uk>
Re: help with a regex <donebrowsers@yahoo.com>
Re: help with a regex <ben@morrow.me.uk>
Re: Matching multiple subexpressions in a regular expre <sjackman@gmail.com>
Re: Matching multiple subexpressions in a regular expre <nospam-abuse@ilyaz.org>
trouble with CPAN using strawberry perl dummy@phony.info
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Wed, 12 Mar 2008 16:34:08 -0700 (PDT)
From: bukzor <workitharder@gmail.com>
Subject: Fastest way to find a match?
Message-Id: <41500232-a4e5-4bb1-b403-819bc3b84754@2g2000hsn.googlegroups.com>
Hi,
I'm trying to find the fastest way in perl to see if a name contains
another.
I've a list of 2704 names (aka "A")
I've another name (aka "B")
I need to know if any of A is contained in B.
A = foo foo1 foo2 foo3 foo45 ....
B = INCASE_foo2_YOUWANT
is a match
B = INCASE_YOURDONOTWANT
is not a match.
what would be the fastest way to check the 2704 possible values of
"A" ?
Thanks,
so far, I'm using
foreach $t (keys %A) {
$v = $B;
$v = s/$t//;
if ($v ne $B) {
print "MATCH"
}
}
------------------------------
Date: Thu, 13 Mar 2008 00:51:08 +0100
From: Joost Diepenmaat <joost@zeekat.nl>
Subject: Re: Fastest way to find a match?
Message-Id: <87zlt3tsb7.fsf@zeekat.nl>
bukzor <workitharder@gmail.com> writes:
> Hi,
>
> I'm trying to find the fastest way in perl to see if a name contains
> another.
>
> I've a list of 2704 names (aka "A")
>
> I've another name (aka "B")
<snip>
> foreach $t (keys %A) {
> $v = $B;
> $v = s/$t//;
> if ($v ne $B) {
> print "MATCH"
> }
> }
Did you notice that doesn't work? $v = s/../../; assignes the number of
replacements of $_ into $v.
For an unordered list of strings of lengths >= 1, the fastest check
would probably be to use the index() function, though it may not be that
much more or even less fast than a regex match (NOT a replace!).
See perldoc -f index and perldoc perlretut.
--
Joost Diepenmaat | blog: http://joost.zeekat.nl/ | work: http://zeekat.nl/
------------------------------
Date: Thu, 13 Mar 2008 00:37:22 +0000
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: Fastest way to find a match?
Message-Id: <2j9ma5-gbs.ln1@osiris.mauzo.dyndns.org>
Quoth Joost Diepenmaat <joost@zeekat.nl>:
> bukzor <workitharder@gmail.com> writes:
>
> > I'm trying to find the fastest way in perl to see if a name contains
> > another.
> >
> > I've a list of 2704 names (aka "A")
> >
> > I've another name (aka "B")
>
> <snip>
>
> > foreach $t (keys %A) {
> > $v = $B;
> > $v = s/$t//;
> > if ($v ne $B) {
> > print "MATCH"
> > }
> > }
>
> Did you notice that doesn't work? $v = s/../../; assignes the number of
> replacements of $_ into $v.
>
> For an unordered list of strings of lengths >= 1, the fastest check
> would probably be to use the index() function, though it may not be that
> much more or even less fast than a regex match (NOT a replace!).
For finding one name, index is best. For finding many, probably best is
something like
# this makes things considerably faster, but make sure your strings
# are all in the same Unicode state first. If necessary, Encode them
# all to UTF8.
use bytes;
for my $B (@B) {
study $B;
for my $A (@A) {
$B =~ /$A/ and print "MATCH";
}
}
as 'study' only remembers the last string studied. An alternative would
be to build a big regex from all the search strings joined with '|', but
that would probably end up slower due to having such a large compiled
regex.
Ben
------------------------------
Date: 13 Mar 2008 00:49:31 GMT
From: John Bokma <john@castleamber.com>
Subject: Re: Fastest way to find a match?
Message-Id: <Xns9A5FBF82820F8castleamber@130.133.1.4>
bukzor <workitharder@gmail.com> wrote:
> Hi,
>
> I'm trying to find the fastest way in perl to see if a name contains
> another.
>
> I've a list of 2704 names (aka "A")
>
> I've another name (aka "B")
>
> I need to know if any of A is contained in B.
>
> A = foo foo1 foo2 foo3 foo45 ....
> B = INCASE_foo2_YOUWANT
As usual, it's hard to say without seeing some real examples of "A" and
"B". Are the parts in B always separated by _ ?
--
John
http://johnbokma.com/
------------------------------
Date: Wed, 12 Mar 2008 13:31:43 -0700 (PDT)
From: donebrowsers <donebrowsers@yahoo.com>
Subject: Re: help with a regex
Message-Id: <85152e06-6655-4ee9-9289-0a145a812bfd@e39g2000hsf.googlegroups.com>
While that works and I appreciate it, I was just using the []s as a
placeholder. I'm actually using PHP's <a href="http://us3.php.net/
manual/en/function.preg-match.php">preg_match()</a> function which
uses PERL style regular expressions. I submitted it to this group
because PERL programmers tend to be better with regular expressions
than anyone else.
This function essentially matches parts and adds them to an array with
[0] matching the whole string, [1]... matching the ()s. So what I
really have is:
array(3) {
[0]=>
string(12) "zoo-2.10.1p1"
[1]=>
string(3) "zoo"
[2]=>
string(8) "2.10.1p1"
}
array(3) {
[0]=>
string(23) "mutt-1.4.2.3-compressed"
[1]=>
string(12) "mutt-1.4.2.3"
[2]=>
string(10) "compressed"
}
array(3) {
[0]=>
string(22) "lha-1.14i.ac20050924.1"
[1]=>
string(3) "lha"
[2]=>
string(18) "1.14i.ac20050924.1"
}
array(3) {
[0]=>
string(19) "mysql-server-5.0.45"
[1]=>
string(12) "mysql-server"
[2]=>
string(6) "5.0.45"
}
array(3) {
[0]=>
string(19) "p5-Archive-Tar-1.30"
[1]=>
string(14) "p5-Archive-Tar"
[2]=>
string(4) "1.30"
}
array(3) {
[0]=>
string(20) "php5-gd-5.2.3-no_x11"
[1]=>
string(13) "php5-gd-5.2.3"
[2]=>
string(6) "no_x11"
}
What I want is ie:
array(4) {
[0]=>
string(20) "php5-gd-5.2.3-no_x11"
[1]=>
string(13) "php5-gd"
[2]=>
"5.2.3"
[3]=>
string(6) "no_x11"
}
Thanks for your suggestion though, sorry for the confusion.
------------------------------
Date: Wed, 12 Mar 2008 20:50:09 GMT
From: Uri Guttman <uri@stemsystems.com>
Subject: Re: help with a regex
Message-Id: <x7myp3acqn.fsf@mail.sysarch.com>
>>>>> "d" == donebrowsers <donebrowsers@yahoo.com> writes:
d> While that works and I appreciate it, I was just using the []s as a
d> placeholder. I'm actually using PHP's <a href="http://us3.php.net/
d> manual/en/function.preg-match.php">preg_match()</a> function which
d> uses PERL style regular expressions. I submitted it to this group
d> because PERL programmers tend to be better with regular expressions
d> than anyone else.
it is Perl, never PERL. preg is NOT perl, nor is it compatible with
perl. that is why we use Perl and not php. the answer you got was valid
perl and that will likely be all you will get here.
uri
--
Uri Guttman ------ uri@stemsystems.com -------- http://www.sysarch.com --
----- Perl Architecture, Development, Training, Support, Code Review ------
----------- Search or Offer Perl Jobs ----- http://jobs.perl.org ---------
--------- Gourmet Hot Cocoa Mix ---- http://bestfriendscocoa.com ---------
------------------------------
Date: Wed, 12 Mar 2008 13:56:49 -0700 (PDT)
From: donebrowsers <donebrowsers@yahoo.com>
Subject: Re: help with a regex
Message-Id: <93b99974-1933-4feb-8f10-fb67ce7cc08c@m44g2000hsc.googlegroups.com>
Fine. How would I use perl to do what I am trying to do? Strip out
those parts and add them to an array?
------------------------------
Date: Wed, 12 Mar 2008 21:02:27 GMT
From: Uri Guttman <uri@stemsystems.com>
Subject: Re: help with a regex
Message-Id: <x77ig7ac67.fsf@mail.sysarch.com>
>>>>> "d" == donebrowsers <donebrowsers@yahoo.com> writes:
d> Fine. How would I use perl to do what I am trying to do? Strip out
d> those parts and add them to an array?
what was wrong with the answer you got? it split the package names into
the parts you wanted. grabbing those and making them into arrays is
trivial. just assign the grabs to an array or put the split into [] to
make an anon array. then you can build up the data structure from that.
uri
--
Uri Guttman ------ uri@stemsystems.com -------- http://www.sysarch.com --
----- Perl Architecture, Development, Training, Support, Code Review ------
----------- Search or Offer Perl Jobs ----- http://jobs.perl.org ---------
--------- Gourmet Hot Cocoa Mix ---- http://bestfriendscocoa.com ---------
------------------------------
Date: Wed, 12 Mar 2008 22:02:55 +0100
From: Martijn Lievaart <m@rtij.nl.invlalid>
Subject: Re: help with a regex
Message-Id: <pan.2008.03.12.21.02.55@rtij.nl.invlalid>
On Wed, 12 Mar 2008 12:31:20 -0700, donebrowsers wrote:
> I have the following dataset:
> zoo-2.10.1p1
> mutt-1.4.2.3-compressed
> lha-1.14i.ac20050924.1
> mysql-server-5.0.45
> p5-Archive-Tar-1.30
> php5-gd-5.2.3-no_x11
>
> There are package listings on an OpenBSD machine. I want to parse the
> package name, the version, and if there is a flavor, that too. I want
> the following:
> [zoo] [2.10.1p1]
> [mutt] [1.4.2.3] [compressed]
> [lha] [1.14i.ac20050924.1]
> [mysql-server] [5.0.45]
> [p5-Archive-Tar] [1.30]
> [php5-gd] [5.2.3] [no_x11]
>
> I currently have this regex (which is close but doesn't quite work):
> /(^.*)-(.*)($-\w)?/
>
> It currently gives me:
> [zoo] [2.10.1p1]
> [mutt-1.4.2.3] [compressed]
> [lha] [1.14i.ac20050924.1]
> [mysql-server] [5.0.45]
> [p5-Archive-Tar] [1.30]
> [php5-gd-5.2.3] [no_x11]
>
> As you can see I'm having issues with the flavor (the last part of the
> package name which not every package has) part. Any help?
How do you determine what part is what in p5-Archive-Tar-1.30? The easy
solution (non-greedy regexpen, look it up in perldoc perlre) will
misparse this entry, it will give [p5-Archive] [Tar] [1.30].
Assuming the version always starts with a digit, and never has a dash,
you may want to try (untested):
/^(.*?)-(\d[^-]*)(?:-(.*))?$/
HTH,
M4
------------------------------
Date: Wed, 12 Mar 2008 14:08:27 -0700 (PDT)
From: donebrowsers <donebrowsers@yahoo.com>
Subject: Re: help with a regex
Message-Id: <388f0295-36e5-4ad9-bd89-06780ced2f48@a70g2000hsh.googlegroups.com>
That's it! Thanks Martijn.
------------------------------
Date: Wed, 12 Mar 2008 21:10:24 GMT
From: Jürgen Exner <jurgenex@hotmail.com>
Subject: Re: help with a regex
Message-Id: <hehgt3dc3hufcjnjgr4ag4g46e1fmshvtd@4ax.com>
donebrowsers <donebrowsers@yahoo.com> wrote:
>I have the following dataset:
>zoo-2.10.1p1
>mutt-1.4.2.3-compressed
>lha-1.14i.ac20050924.1
>mysql-server-5.0.45
>p5-Archive-Tar-1.30
>php5-gd-5.2.3-no_x11
>
>There are package listings on an OpenBSD machine. I want to parse the
>package name, the version, and if there is a flavor, that too. I want
>the following:
>[zoo] [2.10.1p1]
>[mutt] [1.4.2.3] [compressed]
>[lha] [1.14i.ac20050924.1]
>[mysql-server] [5.0.45]
>[p5-Archive-Tar] [1.30]
>[php5-gd] [5.2.3] [no_x11]
The examples are nice, but an additional verbal description of what you are
trying to do would help a lot.
Are you trying to split the string at each dash (minus sign) and store the
pieces in an array?
That is trivial:
@pieces = split /-/, $string;
jue
------------------------------
Date: Wed, 12 Mar 2008 14:19:55 -0700 (PDT)
From: donebrowsers <donebrowsers@yahoo.com>
Subject: Re: help with a regex
Message-Id: <63a7fc74-8a59-4dce-8808-41e2c900e23b@u69g2000hse.googlegroups.com>
Yes and no. There are -s in the name of the package, for example php5-
core. I want the package name php5-core, and the version, 5.2.3; and
if there is a flavor, for example the mutt package, I want that
separate. Martijn's regex works perfectly.
------------------------------
Date: Wed, 12 Mar 2008 21:24:55 +0000
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: help with a regex
Message-Id: <7aula5-min.ln1@osiris.mauzo.dyndns.org>
Quoth donebrowsers <donebrowsers@yahoo.com>:
> I have the following dataset:
> zoo-2.10.1p1
> mutt-1.4.2.3-compressed
> lha-1.14i.ac20050924.1
> mysql-server-5.0.45
> p5-Archive-Tar-1.30
> php5-gd-5.2.3-no_x11
>
> There are package listings on an OpenBSD machine. I want to parse the
> package name, the version, and if there is a flavor, that too. I want
> the following:
> [zoo] [2.10.1p1]
> [mutt] [1.4.2.3] [compressed]
> [lha] [1.14i.ac20050924.1]
Assuming the 'flavour' never contains a dot, and 'version' always does
(otherwise it's impossible to distinguish 'flavour' from 'version'
without more information)
my @pkg = /^(.+?)-([^-]+\.[^-]+)(?:-([^.-]+))?$/;
or, better,
my @pkg = m{
^ (.+?) - # name
( [^-]+ \. [^-]+ ) # version must contain a dot
(?: - ( [^.-]+ ) )? $ # optional flavour musn't
}x;
It would probably be simpler to do this in multiple steps:
my $flavour = s/-([^.-]+)$//;
my $version = s/-([^-]+)$//;
my $name = $_;
(correct for American spellings to taste :) ).
Doesn't OpenBSD provide tools to do this sort of thing, that reference
the package database and know what the right answer is?
Ben
------------------------------
Date: Wed, 12 Mar 2008 14:49:58 -0700 (PDT)
From: donebrowsers <donebrowsers@yahoo.com>
Subject: Re: help with a regex
Message-Id: <68878eaf-85f9-48ce-9424-b33ef168b074@u69g2000hse.googlegroups.com>
Unfortunately as far as I can tell no. I've searched and can't find
anything.
More info on the naming schene:
The stem part identifies the package. It may contain some
dashes, but
its form is mostly conventional. For instance, japanese packages
usually
start with a `ja' prefix, e.g., "ja-kterm-6.2.0".
The version part starts at the first digit that follows a `-',
and goes
on up to the following `-', or to the end of the package name, if
no fla-
vor modifier is present. It is highly recommended that all
packages have
a version number. Normally, the version number directly matches
the
original software distribution version number, or release date.
In case
there are substantial changes in the OpenBSD package, a patch
level mark-
er should be appended, e.g., `p1', `p2 ...' For example, assuming
that
the screen package for release 2.8 was named "screen-2.9.8" and
that an
important security patch led to a newer package, the new package
would be
called "screen-2.9.8p1". Obviously, these specific markers are
reserved
for OpenBSD purposes.
Flavored packages will also contain a list of flavors after the
version
identifier, in a canonical order determined by FLAVORS in the
correspond-
ing port's Makefile. For instance, kterm has an xaw3d flavor:
"ja-kterm-
xaw3d".
Note that, to uniquely identify the version part, no flavor shall
ever
start with a digit. Usually, flavored packages are slightly
different
versions of the same package that offer very similar
functionalities.
------------------------------
Date: Wed, 12 Mar 2008 22:25:02 +0000
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: help with a regex
Message-Id: <uq1ma5-u0o.ln1@osiris.mauzo.dyndns.org>
Quoth donebrowsers <donebrowsers@yahoo.com>:
> Unfortunately as far as I can tell no. I've searched and can't find
> anything.
<snip>
> The version part starts at the first digit that follows a `-',
> and goes on up to the following `-', or to the end of the package
> name, if no fla- vor modifier is present.
<snip>
> Flavored packages will also contain a list of flavors after the
> version identifier, in a canonical order determined by FLAVORS in
> the correspond- ing port's Makefile.
You didn't say there could be more than one flavour.
<snip>
> Note that, to uniquely identify the version part, no flavor shall
> ever start with a digit.
So why didn't you post that the first time? The simple solution now
becomes
my @parts = split /-/, $pkgname;
my @flavours;
unshift @flavours, pop @parts while @parts[-1] =~ /^\D/;
my $version = pop @parts;
my $name = join '-', @parts;
Translating that into an evil regex I leave as an exercise. Probably you
can just add a * in the right place in one of the ones you have already
been given.
Ben
------------------------------
Date: Wed, 12 Mar 2008 13:25:40 -0700 (PDT)
From: ShaunJ <sjackman@gmail.com>
Subject: Re: Matching multiple subexpressions in a regular expression
Message-Id: <315b08d8-e005-482a-9799-a0a565a0cd40@h11g2000prf.googlegroups.com>
On Mar 11, 6:13 pm, "John W. Krahn" <some...@example.com> wrote:
...
> > since the one
> > big regular expression can be compiled into a single large finite-
> > state-machine that is more efficient than running 100 little FSM.
>
> That question is answered in perlfaq6:
>
> perldoc -q "How do I efficiently match many regular expressions at once"
Hi John,
If I structure my program as in the example, using many small regex
instead of one big regex, Perl 5.8.6 runs out of memory and dies:
vm_allocate failed, Out of memory! I have 400'000 regex of exactly 27
characters each, and the input string is one line 100 kB long. The
machine has 2 GB of memory and free disk space, which should be
enough, so I presume the code is somehow leeking memory. It's only a
dozen or so lines long, so I've posted my code below. Can you see an
obvious leak?
Thanks,
Shaun
my @restrings = <REFILE>;
my @re = map { qr/$_/x } @restrings;
while (<>) {
my $i = 0;
foreach my $re (@re) {
$i++;
pos = 0;
while (m/$re/g) {
print $i, "\t",
$LAST_MATCH_START[0] + 1, "\t",
$&, "\n";
pos = $LAST_MATCH_START[0] + 1;
}
}
}
------------------------------
Date: Wed, 12 Mar 2008 21:37:18 +0000 (UTC)
From: Ilya Zakharevich <nospam-abuse@ilyaz.org>
Subject: Re: Matching multiple subexpressions in a regular expression
Message-Id: <fr9iee$1h7u$1@agate.berkeley.edu>
[A complimentary Cc of this posting was sent to
John W. Krahn
<krahnj@telus.net>], who wrote in article <k7GBj.100243$C61.89884@edtnps89>:
> > my $re = qr/([AC]CT)|(AC[CT])/;
> > 'ACT' =~ m/$re/;
> > print join ',', @-; print "\n";
> >
> > Output:
> > 0,0
> >
> > This shows that for...
> > ACT: the first subexpression matched
> >
> > However, ACT matched both subexpressions! The ideal result for ACT
> > would be...
> > 0,0,0
> > showing that both subexpressions matched.
>
> Perl's regular expressions can't do that. They always stop after a
> successful match so either ([AC]CT) would match or (AC[CT]) would match
> but never both.
Perl's regular expressions can do it. You just follow the match by
(?!), and preceed it by (??{code}) which analizes and stores the match
results.
Hope this helps,
Ilya
------------------------------
Date: Wed, 12 Mar 2008 16:53:58 -0700
From: dummy@phony.info
Subject: trouble with CPAN using strawberry perl
Message-Id: <5kqgt3dm8nvv2dpmtg34o0uiv9a3nvobs5@4ax.com>
After installing strawberry I ran CPAN::FirstTime, allowing the program
to do all the initialization. After a blindingly scrolling screen, on
which I could read nothing, I saw a message telling me to make a
urllist, which I did.
Then I tried this:
--------------- copied from screen ---------------
cpan> install WWW::Mechanize
Database was generated on Tue, 11 Mar 2008 22:35:31 GMT
Updating database file ...
Gathering information from index files ...
Obtaining current state of database ...
DBD::SQLite::db prepare failed: no such table: dists(1) at dbdimp.c line
271 at C:\strawberry\perl\site\lib/CPAN/SQLite/DBI/Index.pm line 26,
<DATA> line 52827.
DBD::SQLite::db prepare failed: no such table: dists(1) at dbdimp.c line
271 at C:\strawberry\perl\site\lib/CPAN/SQLite/DBI/Index.pm line 26,
<DATA> line 52827.
Catching error: 'system C:\\strawberry\\perl\\bin\\perl.exe
-MCPAN::SQLite::META qw(setup update) -e update failed: 512 at
C:\\strawberry\\perl\\site\\lib/CPAN/SQLite/META.pm line 315, <IN> line
2.' at C:/strawberry/perl/lib/CPAN.pm line 281
CPAN::shell() called at C:\strawberry\perl\bin/cpan.bat line 211
Database was generated on Tue, 11 Mar 2008 22:35:31 GMT
Updating database file ...
Gathering information from index files ...
Obtaining current state of database ...
DBD::SQLite::db prepare failed: no such table: dists(1) at dbdimp.c line
271 at C:\strawberry\perl\site\lib/CPAN/SQLite/DBI/Index.pm line 26,
<DATA> line 52827.
DBD::SQLite::db prepare failed: no such table: dists(1) at dbdimp.c line
271 at C:\strawberry\perl\site\lib/CPAN/SQLite/DBI/Index.pm line 26,
<DATA> line 52827.
Lockfile removed.
system C:\strawberry\perl\bin\perl.exe -MCPAN::SQLite::META qw(setup
update) -e update failed: 512 at
C:\strawberry\perl\site\lib/CPAN/SQLite/META.pm line 315, <IN> line 2.
c:\>
-----------------------------------------------------
I found an empty file 'cpandb.sql'. Also 'histfile' with one blank line.
What did I omit? What did I do wrong?
------------------------------
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 1357
***************************************