[30739] in Perl-Users-Digest
Perl-Users Digest, Issue: 1984 Volume: 11
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Sat Nov 15 09:09:42 2008
Date: Sat, 15 Nov 2008 06:09:06 -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 Sat, 15 Nov 2008 Volume: 11 Number: 1984
Today's topics:
Re: Editor with embedded perl interpreter? <bart.lateur@pandora.be>
Re: FAQ 6.19 Why does using $&, $`, or $' slow my progr <brian.d.foy@gmail.com>
nested foreach loop <tariq.a.shaikh@gmail.com>
Re: nested foreach loop <brian.helterline@hp.com>
Re: nested foreach loop <jurgenex@hotmail.com>
Re: nested foreach loop <tadmc@seesig.invalid>
new CPAN modules on Sat Nov 15 2008 (Randal Schwartz)
parameter error during function call <slick.users@gmail.com>
Re: parameter error during function call <wahab-mail@gmx.de>
Re: subroutine local variable with initialization <uri@stemsystems.com>
Re: unpack "B*", 15 <mgjv@heliotrope.com.au>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Sat, 15 Nov 2008 02:18:32 +0100
From: Bart Lateur <bart.lateur@pandora.be>
Subject: Re: Editor with embedded perl interpreter?
Message-Id: <6p8sh4t9ei9mok1usgmrv3s4h9j25bookq@4ax.com>
cartercc wrote:
>What I mean is that, when I give the command at the command prompt,
>the machine just sits and I have to ctl-C to recover. This is the
>command:
>perl -MCPAN -e shell
That starts the shell, i.e. it's waiting for yoru commands.
Try
install Devel::REPL
at the prompt. Type "exit" when finished.
It should work, if you have nmake. Really.
--
Bart.
------------------------------
Date: Fri, 14 Nov 2008 21:58:41 -0600
From: brian d foy <brian.d.foy@gmail.com>
Subject: Re: FAQ 6.19 Why does using $&, $`, or $' slow my program down?
Message-Id: <141120082158414819%brian.d.foy@gmail.com>
In article <UQfTk.2603$Wd1.1086@newsfe06.iad>, John W. Krahn
<someone@example.com> wrote:
> penalty. Pelr only sets these variables if you compile or execute the
> ****
> Perl
Fixed, thanks.
------------------------------
Date: Fri, 14 Nov 2008 16:43:11 -0800 (PST)
From: torque <tariq.a.shaikh@gmail.com>
Subject: nested foreach loop
Message-Id: <5931d4e9-2b8f-468f-ac8e-764804731a7f@k1g2000prb.googlegroups.com>
I have a nested foreach loop and this is really killing the
performance. The inner foreach is using the value from the outer loop
to check if it is a valid value by comparing it against an array of
valid values. I removed the inner foreach to eliminate validation and
the performance improved from 12 hours to 3 hours for 7 million
records.
But I would like to have this validation check done by the inner
foreach loop.
This is how the code looks like. Its fairly simple but I am new to
perl.
open(WVHFILE, "<file.txt");
while (<WVHFILE>)
{
chomp;
($id, $pk, $an, $eid, $vv, $val, $et) = split(/\|/);
my @token = split(";", $val);
my %rst = ();
my $flg = 0;
my $ed = substr($et,0,11);
foreach $nvpair (@token)
{
$flg = 0;
my ( $attr_id, $attr_val) = split ("=", $nvpair);
foreach $aid (@attr_lst){
if ($attr_id == $aid){
$flg = 1;
}
}
if ($flg == 1) {
$rst{$attr_id} = $attr_val . "|" . $lst{$attr_id .
$attr_val}. "|";
}
}
Please send me an alternative if you know it. I would appreciate it.
Thanks.
------------------------------
Date: Fri, 14 Nov 2008 17:27:56 -0800
From: Brian Helterlilne <brian.helterline@hp.com>
Subject: Re: nested foreach loop
Message-Id: <gfl8it$vh4$1@usenet01.boi.hp.com>
torque wrote:
> I have a nested foreach loop and this is really killing the
> performance. The inner foreach is using the value from the outer loop
> to check if it is a valid value by comparing it against an array of
> valid values. I removed the inner foreach to eliminate validation and
> the performance improved from 12 hours to 3 hours for 7 million
> records.
> But I would like to have this validation check done by the inner
> foreach loop.
>
> This is how the code looks like. Its fairly simple but I am new to
> perl.
>
Basically, you are using the wrong data structure. If you are
constantly searching @attr_lst, it should be a hash, with the list of
attributes as keys. Then, rather than looping through the array, you
look up the key in the hash.
use strict;
use warnings;
my %attr_hash;
$attr_hash{$_} = 1 foreach ( @attr_lst );
> open(WVHFILE, "<file.txt");
open my $WVHFILE, "<", "file.txt" or die "can't open file.txt: $!\n";
> while (<WVHFILE>)
while ( $WVHFILE )
> {
> chomp;
> ($id, $pk, $an, $eid, $vv, $val, $et) = split(/\|/);
> my @token = split(";", $val);
> my %rst = ();
> my $flg = 0;
> my $ed = substr($et,0,11);
>
> foreach $nvpair (@token)
> {
> $flg = 0;
> my ( $attr_id, $attr_val) = split ("=", $nvpair);
> foreach $aid (@attr_lst){
> if ($attr_id == $aid){
> $flg = 1;
> }
>
> }
if ( $attr_hash{ $aid } {
$rst{$attr_id} = $attr_val . "|" .
$lst{$attr_id . $attr_val}. |";
>
> if ($flg == 1) {
> $rst{$attr_id} = $attr_val . "|" . $lst{$attr_id .
> $attr_val}. "|";
> }
>
> }
>
> Please send me an alternative if you know it. I would appreciate it.
> Thanks.
------------------------------
Date: Fri, 14 Nov 2008 19:16:46 -0800
From: Jürgen Exner <jurgenex@hotmail.com>
Subject: Re: nested foreach loop
Message-Id: <f0fsh4t792the12d8e874j53keru33ebj9@4ax.com>
torque <tariq.a.shaikh@gmail.com> wrote:
>I have a nested foreach loop and this is really killing the
>performance. The inner foreach is using the value from the outer loop
>to check if it is a valid value by comparing it against an array of
>valid values. I removed the inner foreach to eliminate validation and
>the performance improved from 12 hours to 3 hours for 7 million
>records.
[...]
> foreach $nvpair (@token)
> {
> $flg = 0;
> my ( $attr_id, $attr_val) = split ("=", $nvpair);
> foreach $aid (@attr_lst){
> if ($attr_id == $aid){
> $flg = 1;
> }
Ouch, that hurts. Some comments:
- using flags like this is poor style
- at the very least you could have aborted the loop as soon as the item
was found. On average (assuming equal distribution and a few other
things) you would have saved 50%.
- but most important: instead of an array use a data structure that is
meant to be searched ! And for Perl you don't even have to create your
own like e.g. an n-ary tree but Perl comes with hashes. Just put those
$aid-values into a hash and then you can use exists() to check in near
constant time if that element exists.
Using a constant check instead of the inner loop changes your algorithm
from square to linear, a gain that you cannot achive any other way.
jue
------------------------------
Date: Fri, 14 Nov 2008 21:23:02 -0600
From: Tad J McClellan <tadmc@seesig.invalid>
Subject: Re: nested foreach loop
Message-Id: <slrnghsg4m.tfh.tadmc@tadmc30.sbcglobal.net>
Brian Helterlilne <brian.helterline@hp.com> wrote:
>> open(WVHFILE, "<file.txt");
> open my $WVHFILE, "<", "file.txt" or die "can't open file.txt: $!\n";
>
>> while (<WVHFILE>)
> while ( $WVHFILE )
while ( <$WVHFILE> )
--
Tad McClellan
email: perl -le "print scalar reverse qq/moc.noitatibaher\100cmdat/"
------------------------------
Date: Sat, 15 Nov 2008 05:42:34 GMT
From: merlyn@stonehenge.com (Randal Schwartz)
Subject: new CPAN modules on Sat Nov 15 2008
Message-Id: <KAD16y.24MI@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.
Acme-Boolean-0.1
http://search.cpan.org/~gugod/Acme-Boolean-0.1/
There is more then one way to be true.
----
Acme-CPANAuthors-Misanthrope-1.02
http://search.cpan.org/~ashley/Acme-CPANAuthors-Misanthrope-1.02/
The CPAN authors who see into your soul with perfect clarity.
----
Acme-CPANAuthors-Not-0.01
http://search.cpan.org/~sfink/Acme-CPANAuthors-Not-0.01/
We are not CPAN authors
----
Acme-CorpusScrambler-0.02
http://search.cpan.org/~shelling/Acme-CorpusScrambler-0.02/
An Acme way doing Lorem Ipsum.
----
Acme-CorpusScrambler-0.03
http://search.cpan.org/~shelling/Acme-CorpusScrambler-0.03/
An Acme way doing Lorem Ipsum.
----
Apache2-Mojo-0.001
http://search.cpan.org/~uvoelker/Apache2-Mojo-0.001/
mod_perl2 handler for Mojo
----
App-ZofCMS-Plugin-DBI-0.0301
http://search.cpan.org/~zoffix/App-ZofCMS-Plugin-DBI-0.0301/
DBI access from ZofCMS templates
----
CMS-Joomla-0.02
http://search.cpan.org/~epipe/CMS-Joomla-0.02/
Joomla! CMS configuration and database access Perl module
----
Catalyst-Controller-Rose-0.05
http://search.cpan.org/~karman/Catalyst-Controller-Rose-0.05/
**DEPRECATED** RDBO and RHTMLO base classes for Catalyst
----
Catalyst-Model-RDBO-0.07
http://search.cpan.org/~karman/Catalyst-Model-RDBO-0.07/
**DEPRECATED** base class for Rose::DB::Object model
----
Catalyst-Plugin-ConfigComponents-0.1.50
http://search.cpan.org/~pjfl/Catalyst-Plugin-ConfigComponents-0.1.50/
Creates components from config entries
----
Catalyst-Plugin-InflateMore-0.1.36
http://search.cpan.org/~pjfl/Catalyst-Plugin-InflateMore-0.1.36/
Inflates symbols in application config
----
Class-MOP-0.70
http://search.cpan.org/~drolsky/Class-MOP-0.70/
A Meta Object Protocol for Perl 5
----
ClearPress-281
http://search.cpan.org/~rpettett/ClearPress-281/
Simple, fresh & fruity MVC framework
----
Config-Any-Merge-0.04
http://search.cpan.org/~mdom/Config-Any-Merge-0.04/
Overrinding of configuration variables based on file order
----
DNS-ZoneParse-0.96
http://search.cpan.org/~mschilli/DNS-ZoneParse-0.96/
Parse and manipulate DNS Zone Files.
----
Data-CloudWeights-0.2.75
http://search.cpan.org/~pjfl/Data-CloudWeights-0.2.75/
Calculate values for an HTML tag cloud
----
Data-Validation-0.2.66
http://search.cpan.org/~pjfl/Data-Validation-0.2.66/
Check data values for conformance with constraints
----
DateTime-Format-Natural-0.73_03
http://search.cpan.org/~schubiger/DateTime-Format-Natural-0.73_03/
Create machine readable date/time with natural parsing logic
----
Devel-DLMProf-0.03
http://search.cpan.org/~kitano/Devel-DLMProf-0.03/
----
Devel-DLMProf-0.03_01
http://search.cpan.org/~kitano/Devel-DLMProf-0.03_01/
----
Devel-DLMProf-0.03_02
http://search.cpan.org/~kitano/Devel-DLMProf-0.03_02/
----
Digest-MD5-2.38
http://search.cpan.org/~gaas/Digest-MD5-2.38/
Perl interface to the MD5 Algorithm
----
Dist-Release-0.0_2
http://search.cpan.org/~yanick/Dist-Release-0.0_2/
manages the process of releasing a module
----
Dist-Release-0.0_3
http://search.cpan.org/~yanick/Dist-Release-0.0_3/
manages the process of releasing a module
----
Enbugger-2.005
http://search.cpan.org/~jjore/Enbugger-2.005/
Enables the debugger at runtime.
----
ExtUtils-InferConfig-1.02
http://search.cpan.org/~smueller/ExtUtils-InferConfig-1.02/
Infer Perl Configuration for non-running interpreters
----
ExtUtils-InstallPAR-0.03
http://search.cpan.org/~smueller/ExtUtils-InstallPAR-0.03/
Install .par's into any installed perl
----
Fey-0.16
http://search.cpan.org/~drolsky/Fey-0.16/
Better SQL Generation Through Perl
----
Geo-Coder-Cache-0.05
http://search.cpan.org/~leeym/Geo-Coder-Cache-0.05/
Add cache for Geo::Coder::*
----
Geo-Yandex-0.2
http://search.cpan.org/~andy/Geo-Yandex-0.2/
Performs geographical queries using Yandex Maps API
----
Geo-Yandex-0.3
http://search.cpan.org/~andy/Geo-Yandex-0.3/
Performs geographical queries using Yandex Maps API
----
Git-PurePerl-0.32
http://search.cpan.org/~lbrocard/Git-PurePerl-0.32/
A Pure Perl interface to Git repositories
----
HTML-Accessors-0.1.47
http://search.cpan.org/~pjfl/HTML-Accessors-0.1.47/
Generate HTML elements
----
HTML-Clean-Human-1.06
http://search.cpan.org/~leocharre/HTML-Clean-Human-1.06/
html syntax cleaner and reformatter
----
HTML-FormWidgets-0.2.108
http://search.cpan.org/~pjfl/HTML-FormWidgets-0.2.108/
Create HTML form markup
----
HTML-WikiConverter-Markdown-0.03
http://search.cpan.org/~diberri/HTML-WikiConverter-Markdown-0.03/
Convert HTML to Markdown markup
----
HTTP-Engine-0.0.18
http://search.cpan.org/~yappo/HTTP-Engine-0.0.18/
Web Server Gateway Interface and HTTP Server Engine Drivers (Yet Another Catalyst::Engine)
----
IO-Lambda-0.40
http://search.cpan.org/~karasik/IO-Lambda-0.40/
non-blocking I/O in lambda style
----
IPC-SRLock-0.1.80
http://search.cpan.org/~pjfl/IPC-SRLock-0.1.80/
Set/reset locking semantics to single thread processes
----
LEOCHARRE-HTML-Text-1.03
http://search.cpan.org/~leocharre/LEOCHARRE-HTML-Text-1.03/
turn html to text
----
Module-Install-PadrePlugin-0.01
http://search.cpan.org/~smueller/Module-Install-PadrePlugin-0.01/
Module::Install support for Padre plugins
----
Net-DNSBL-Monitor-0.09
http://search.cpan.org/~miker/Net-DNSBL-Monitor-0.09/
Monitor DNSBL response
----
Net-DNSBL-Statistics-0.11
http://search.cpan.org/~miker/Net-DNSBL-Statistics-0.11/
gather DNSBL Statistics
----
Net-Domain-ExpireDate-0.93
http://search.cpan.org/~despair/Net-Domain-ExpireDate-0.93/
obtain expiration date of domain names
----
Net-Whois-Raw-1.59
http://search.cpan.org/~despair/Net-Whois-Raw-1.59/
Get Whois information for domains
----
POE-Component-Client-HTTPDeferred-0.01
http://search.cpan.org/~typester/POE-Component-Client-HTTPDeferred-0.01/
Yet another poco http client with twist like deferred interface.
----
POE-Component-Client-HTTPDeferred-0.01001
http://search.cpan.org/~typester/POE-Component-Client-HTTPDeferred-0.01001/
Yet another poco http client with twist like deferred interface.
----
POE-Component-IRC-Plugin-MegaHAL-0.12
http://search.cpan.org/~hinrik/POE-Component-IRC-Plugin-MegaHAL-0.12/
A PoCo-IRC plugin which provides access to a MegaHAL conversation simulator.
----
Parallel-Forker-1.223
http://search.cpan.org/~wsnyder/Parallel-Forker-1.223/
Parallel job forking and management
----
Parse-Eyapp-1.128
http://search.cpan.org/~casiano/Parse-Eyapp-1.128/
Extensions for Parse::Yapp
----
Parse-Stallion-0.3
http://search.cpan.org/~arthur/Parse-Stallion-0.3/
Backtracking parser with during or after evaluation
----
RDF-Trine-0.109
http://search.cpan.org/~gwilliams/RDF-Trine-0.109/
An RDF Framework for Perl.
----
RSSycklr-0.08
http://search.cpan.org/~ashley/RSSycklr-0.08/
(beta) Highly configurable recycling of syndication (RSS/Atom) feeds into tailored, guaranteed XHTML fragments.
----
Rubyish-Attribute-0.03
http://search.cpan.org/~shelling/Rubyish-Attribute-0.03/
provide ruby-like accessor builder: attr_accessor, attr_writer and attr_reader.
----
Spreadsheet-XLSX-0.04
http://search.cpan.org/~dmow/Spreadsheet-XLSX-0.04/
Perl extension for reading MS Excel 2007 files;
----
Storable-AMF-0.1502
http://search.cpan.org/~grian/Storable-AMF-0.1502/
Perl extension for serialize/deserialize AMF0/AMF3 data
----
Text-Similarity-0.07
http://search.cpan.org/~tpederse/Text-Similarity-0.07/
Measure the pair-wise Similarity of Files or Strings
----
WWW-Domain-Registry-Joker-0.08
http://search.cpan.org/~roam/WWW-Domain-Registry-Joker-0.08/
an interface to the Joker.com DMAPI
----
WWW-Domain-Registry-Joker-0.09
http://search.cpan.org/~roam/WWW-Domain-Registry-Joker-0.09/
an interface to the Joker.com DMAPI
----
WWW-Myspace-0.88
http://search.cpan.org/~grantg/WWW-Myspace-0.88/
Access MySpace.com profile information from Perl
----
WWW-Myspace-0.89
http://search.cpan.org/~stevenc/WWW-Myspace-0.89/
Access MySpace.com profile information from Perl
----
WWW-Search-PubMedLite-0.04
http://search.cpan.org/~diberri/WWW-Search-PubMedLite-0.04/
Access PubMed's database of journal articles
----
WordNet-SenseRelate-AllWords-0.12
http://search.cpan.org/~tpederse/WordNet-SenseRelate-AllWords-0.12/
Disambiguate All Words in a Text based on semantic similarity and relatedness in WordNet
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/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
------------------------------
Date: Sat, 15 Nov 2008 00:21:11 -0800 (PST)
From: Slickuser <slick.users@gmail.com>
Subject: parameter error during function call
Message-Id: <44e8da78-9ac8-4ff8-b9aa-655c6bd6cc76@v39g2000pro.googlegroups.com>
How do I fix this. I need to pass in as scalar, hash, array.
Thanks.
Odd number of elements in hash assignment at
use strict;
use warnings;
my %chars_G =
(
'a' => 'x',
'b' => 'y',
'c' => 'z',
'd' => 'a1',
'e' => 'a2',
'f' => 'a3'
);
my @info_G = (1,2,3,4,5);
show_name("XYZ",%chars_G, @info_G);
sub show_name
{
my ($name,%chars,@info) = @_;
}
------------------------------
Date: Sat, 15 Nov 2008 10:07:58 +0100
From: Mirco Wahab <wahab-mail@gmx.de>
Subject: Re: parameter error during function call
Message-Id: <gfm3lr$7e5$1@mlucom4.urz.uni-halle.de>
Slickuser wrote:
> How do I fix this. I need to pass in as scalar, hash, array.
>
> Odd number of elements in hash assignment at
> ...
> show_name("XYZ",%chars_G, @info_G);
>
> sub show_name
> {
> my ($name,%chars,@info) = @_;
> ...
Use 'call by reference' if you want to
avoid exactly that:
...
my %chars_G = ( a => 'x',
b => 'y',
c => 'z',
d => 'a1',
e => 'a2',
f => 'a3'
);
my @info_G = qw{ 1 2 3 4 5 };
# use 'call by reference \... ' in order to
# avoid 'subsequent list flattening'
show_name("XYZ", \%chars_G, \@info_G);
# if called with array/hash parameters 'by value'
# their elements get translated into one *single list*
# without any distinction regarding to their origin
sub show_name {
my ($name, $chars_by_reference, $info_by_reference) = @_;
my %chars_by_value = %{ $chars_by_reference }; # make local copy
my @info_by_value = @{ $info_by_reference }; # make local copy
print "@info_by_value\n";
print "$_ ==> $chars_by_value{$_}\n" for sort keys %chars_by_value;
}
...
Regards
M.
------------------------------
Date: Fri, 14 Nov 2008 14:23:21 -0500
From: Uri Guttman <uri@stemsystems.com>
Subject: Re: subroutine local variable with initialization
Message-Id: <x7iqqqjemu.fsf@mail.sysarch.com>
>>>>> "JD" == Joost Diepenmaat <joost@zeekat.nl> writes:
JD> Some different solutions:
JD> * use the my $var if 0 trick - not recommended, probably.
given yours and my suggestions, let's never mention the if 0 hack again!
it may even break in future perls as it is not needed with state vars.
uri
--
Uri Guttman ------ uri@stemsystems.com -------- http://www.sysarch.com --
----- Perl Code Review , Architecture, Development, Training, Support ------
--------- Free Perl Training --- http://perlhunter.com/college.html ---------
--------- Gourmet Hot Cocoa Mix ---- http://bestfriendscocoa.com ---------
------------------------------
Date: Sat, 15 Nov 2008 09:36:37 +1100
From: Martien Verbruggen <mgjv@heliotrope.com.au>
Subject: Re: unpack "B*", 15
Message-Id: <slrnghrvbl.721.mgjv@mgjv.heliotrope.home>
On 14 Nov 2008 17:22:32 GMT,
xhoster@gmail.com <xhoster@gmail.com> wrote:
> "A. Farber" <Alexander.Farber@gmail.com> wrote:
>> Hello,
>>
>> why doesn't unpack "B*", 15 print "1111"?
>> Why do you have to insert pack "N" inbetween?
>>
>> # perl -e 'print unpack "B*", 15'
>> 0011000100110101
>>
>> # perl -e 'print unpack "B*", pack "N", 15'
>> 00000000000000000000000000001111
>
> Others have already explained that 15 is treated as two ASCII characters
> '1' and '5'. I just wanted to point out that in this case you can use chr
> instead of pack "N".
ITYM instead of pack "C", which also results in one byte. pack "N" would
result in 4 bytes.
Actually.. Since Perl does Unicode, it's probably not entirely that
straightforwardly equivalent. But for numbers small enough (<256), it
is.
Martien
--
|
Martien Verbruggen | The problem with sharks is that they are too
| large to get to the shallow end of the gene
| pool. -- Scott R. Godin
------------------------------
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 1984
***************************************