[17209] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

Perl-Users Digest, Issue: 4631 Volume: 9

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Oct 16 14:10:38 2000

Date: Mon, 16 Oct 2000 11:10:16 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Message-Id: <971719816-v9-i4631@ruby.oce.orst.edu>
Content-Type: text

Perl-Users Digest           Mon, 16 Oct 2000     Volume: 9 Number: 4631

Today's topics:
    Re: question <bart.lateur@skynet.be>
    Re: question <joe+usenet@sunstarsys.com>
    Re: question <anmcguire@ce.mediaone.net>
    Re: Question: best database file format <tzz@iglou.com>
    Re: Regex for matching e-mail addresses <james@NOSPAM.demon.co.uk>
        Script to make photo gallery? <webmaster@californiaspecial.com>
    Re: Sorting is too slow for finding top N keys... - UPD (Marko R. Riedel)
    Re: Sorting is too slow for finding top N keys... - UPD (Marko R. Riedel)
    Re: split problem <ren.maddox@tivoli.com>
        Strange behaviour with pos($text), m/.../g and for(...) <moell@ID-PRO.de>
    Re: Strange behaviour with pos($text), m/.../g and for( <kistler@gmx.net>
        What is wrong with this subroutine? <g.soper@soundhouse.co.uk>
    Re: What is wrong with this subroutine? <g.soper@soundhouse.co.uk>
        whence $0 <prlawrence@lehigh.edu>
    Re: whence $0 <tony_curtis32@yahoo.com>
    Re: whence $0 (Brandon Metcalf)
        XBase module <don@lclcan.com>
    Re: XBase module <jeff@vpservices.com>
        Digest Administrivia (Last modified: 16 Sep 99) (Perl-Users-Digest Admin)

----------------------------------------------------------------------

Date: Mon, 16 Oct 2000 16:41:27 GMT
From: Bart Lateur <bart.lateur@skynet.be>
Subject: Re: question
Message-Id: <stbmusgmv97h6t8g6gs68gln59nrmsp4n8@4ax.com>

Joe Schaefer wrote:

>this should read
>
>if ($. == 4) { $text = $_; } #GOOD
>

It's be BETTER if there was a "last" in that block as well.

-- 
	Bart.


------------------------------

Date: 16 Oct 2000 12:59:42 -0400
From: Joe Schaefer <joe+usenet@sunstarsys.com>
Subject: Re: question
Message-Id: <m38zrorabl.fsf@mumonkan.sunstarsys.com>

> Joe Schaefer wrote:
> 
> >this should read
> >
> >if ($. == 4) { $text = $_; } #GOOD
> >
> 
> It's be BETTER if there was a "last" in that block as well.

You're _absolutely_ right!

-- 
Joe Schaefer




------------------------------

Date: Mon, 16 Oct 2000 12:57:44 -0500
From: "Andrew N. McGuire " <anmcguire@ce.mediaone.net>
Subject: Re: question
Message-Id: <Pine.LNX.4.21.0010161248590.25136-100000@hawk.ce.mediaone.net>

On 16 Oct 2000, Joe Schaefer quoth:

JS> Andrew N McGuire <anmcguire@my-deja.com> writes:
JS> 
JS> > Martien already posted what I meant though.
JS> > I think you are the one in this case who needs to check code before
JS> > posting it, as i KNOW local $. will work.
JS> 
JS> I don't think you've understood what Martien's "solution"
JS> was, nor my reply to it.  Martien *hasn't* solved it, but
JS> what he has done is focus on proper vicinity of the problem.
JS> Martien's "more correct" solution was with regard to his
JS> significantly modified code, which if you bothered to diff
JS> from the original code I posted, you'd see is quite far
JS> from a final answer.  But it's a very good start, because
JS> he's *doing* perl, not *talking* perl.

I understand what Martiens solution was, it was the same one
I mentioned in passing.  You can accuse me of "*talking* perl",
that's fine.  But I still fail to see what the "problem" you
are really presenting is, other than the obvious need to localize
$. ( or any global ), in your sub.

JS> Since it's been over a day with no working solution, I'll offer
JS> a hint. Martien is right, the maintainer of "Distant"
JS> will need to localize global variables that s/he has no 
JS> intention of using is his/her package. The problem as to
JS> exactly how s/he should accomplish this is still open,
JS> and until someone posts working code, it will remain open.

Why would one need to localize variables that will not be used?
Everything that has been posted so far, and every "problem" that
has come up has behaved exactly as documented.

JS> My hint is to focus not only on what Martien has added, but
JS> what he took out as well.  We should not be modifying the 
JS> functionality or intended use of Distant::action, should we?
JS> More importantly, how should Distant::action document their
JS> module?  What if OP is actually the maintainer of Distant::module?
JS> Should we not allow him to post it to CPAN?
JS> 
JS> It's not as simple as you think :)

It is trivial.

JS> Here's Martien's action:

[ snip sub ]

JS> Here's the original:

[ snip sub ]

So a natural combination of the two yields:

# $fileB renamed to $file_b

sub action ($) {
    local($., *IN);
    my $line = shift;
    open IN, $file_b or die $!;
    1 while <IN>;
    return $line;
}

[ aside:  I apologize if my remarks to this point have sounded snide,
  that is not my intention. ]

anm
-- 
$ # = "%.6g" ; stat $0 or die $! ;
_ = q.Just another Perl Hacker.  ;
print $ #                        ;
main'_ . v10                     ;



------------------------------

Date: 16 Oct 2000 12:35:13 -0400
From: Ted Zlatanov <tzz@iglou.com>
Subject: Re: Question: best database file format
Message-Id: <m38zrowxq6.fsf@heechee.beld.net>

maiwang@home.com (R.) writes:

> I want to have perl create and manage a relatively small database. Would a
> simple flat file work well enough, or should I have a more sophisticated DB
> with a handful of indexed, linked tables?  Is this even practical or
> possible to do with perl?  The whole thing doesn't have to be that fast.
> If perl can scan a 10,000 record file for a handful of entries, within a
> reasonable amount of time, then a flat file is fine.

Sounds like a tied hash would be sufficient.  Look at

perldoc -f tie
perldoc perltie
perldoc DB_File (or NDBM_File, or one of the other DB implementations)
perldoc Config

-- 
Teodor Zlatanov <tzz@iglou.com>
"Brevis oratio penetrat colos, longa potatio evacuat ciphos." -Rabelais


------------------------------

Date: Mon, 16 Oct 2000 18:05:21 +0100
From: James Taylor <james@NOSPAM.demon.co.uk>
Subject: Re: Regex for matching e-mail addresses
Message-Id: <ant161721ab5fNdQ@oakseed.demon.co.uk>

In article <a3fluss5kfddciquv28svcj05n41r4l06m@4ax.com>, Bart Lateur
<URL:mailto:bart.lateur@skynet.be> wrote:
> James Taylor wrote:
> 
> >I've already had a look at Mail::Address but rejected it because it is
> >buggy.
> 
> Perhaps. But I personally find basing code on existing modules, a lot
> easier than trying to understand the bare text of the RFC's.

Ha! :-D  In the case of RFC822 I can see your point. The trouble is I'm
a bit of a control freak and take great pride in producing bug free code.
Handing control to someone else's code so that it can introduce bugs to
my application either now or in the future thus undoing all my hard work
I something I'm going to find difficult to get used to. It's tempting to
just cut'n'paste code fragments from modules so that I can ensure their
correctness and retain control over the quality of my applications, but
I know that's a bad habit, and I must grow out of it. (I wonder if
there's a self-help group: Paranoid Control Freaks Anonymous?)

-- 
James Taylor <james (at) oakseed demon co uk>
PGP key available ID: 3FBE1BF9
Fingerprint: F19D803624ED6FE8 370045159F66FD02



------------------------------

Date: Mon, 16 Oct 2000 17:24:19 GMT
From: Jon Hanna <webmaster@californiaspecial.com>
Subject: Script to make photo gallery?
Message-Id: <8sfdjo$oj7$1@nnrp1.deja.com>

Hi all,

I'm looking for a script to make my life a little easier (aren't we
all?) I run a Mustang photo gallery and would like to find a way to
automate the process a little better. Here's the URL to give you an
idea:
http://CaliforniaSpecial.com/gallery.htm

I currently have people submit their car's info using a form, then
email me their photos. Then I manually create the thumbnails, rename
the images, write the HTML, FTP the files to my server, etc.

I would like to perform any/all of those tasks using a script. Maybe
with an admin section? I'm thinking one of the classifieds scripts that
allows photos may be a good start, but I'm not very familiar with Perl
so me customizing too much will probably spell disaster.

I've seen several scripts that create pages using all the images in a
certain directory, but I need to be able to group the photos by owner
and allow text fields with each group of photos (see my link above to
see what I mean) so I don't think those will work. Unless I maybe make
a separate folder for each owner? But then how can I call from multiple
directories? Just thinking out loud.

Thanks much for any help!

--
Jon Hanna
webmaster@californiaspecial.com
http://CaliforniaSpecial.com


Sent via Deja.com http://www.deja.com/
Before you buy.


------------------------------

Date: 16 Oct 2000 17:38:30 +0200
From: mriedel@neuearbeit.de (Marko R. Riedel)
Subject: Re: Sorting is too slow for finding top N keys... - UPDATE: Clarification.
Message-Id: <lzk8b894p5.fsf@linuxsexi.neuearbeit.de>


Greetings.

There was a thread in this group about a year and a half ago where the
use of sorting algorithms to extract order statistics was discussed. I
presented several implementations of the QuickSelect algorithm. I
didn't properly credit the people who taught me about this algorithm.

I learned about the algorithm itself from the writings of Conrado
Martinez and Salvador Roura (UPC Barcelona), and had the privilege to
discuss algorithms and data structures with Philippe Flajolet (INRIA)
on several occasions, whose book "An introduction to the Analysis of
Algorithms" (with Robert Sedgewick) is also relevant to the subject.

Regards,

Marko R. Riedel




------------------------------

Date: 16 Oct 2000 18:06:36 +0200
From: mriedel@neuearbeit.de (Marko R. Riedel)
Subject: Re: Sorting is too slow for finding top N keys... - UPDATE: Clarification.
Message-Id: <lzitqs93eb.fsf@linuxsexi.neuearbeit.de>


The thread that I refer to contains the message
<lz1zg7d7zm.fsf@linux_sexi.neuearbeit.de>, for example.



------------------------------

Date: 16 Oct 2000 11:33:39 -0500
From: Ren Maddox <ren.maddox@tivoli.com>
Subject: Re: split problem
Message-Id: <m37l78wxss.fsf@dhcp11-177.support.tivoli.com>

homer.simpson@springfield.nul (Homer Simpson) writes:

> Andrew N. McGuire (and others) recommended:
> use Text::ParseWords;
> 
> rather than:
> On 15 Oct 2000, Homer Simpson quoth:
> HS> >234,tree,"Smith, John",6834
> HS> >The problem I face is how to get split to ignore the comma inside the
> HS> >quotation marks. 
> Assuming the string is held in variable $in:
> 
>  $in[2]=join('',$in[2],$in[3]);
>         @in=@in[0,1,2,4];
> 
> 
> I looked up Text::ParseWords;
> It seems that my two lines of code would do the job in fewer keystokes...
> 
> Since the format of the data is known and static is there a reason to prefer 
> Text::ParseWords?  Or is there a flaw I missed in my snippet?

The OP stated that the file contains one line like the above, not that
all lines were like the above.  The code you have provided works only
for that specific type of data.  The presumption that others are
making is that there may be other similar data and that a more general
solution is desired.  Text::ParseWords is one such solution.

Plus, it isn't really any longer...

#!/usr/local/bin/perl -w
use strict;
use Text::ParseWords;
chomp(my @fields = quotewords(",", 1, <DATA>)); # inefficient but terse chomp
print "$_\n" for @fields;
__DATA__
234,tree,"Smith, John",6834
__END__                                       

-- 
Ren Maddox
ren@tivoli.com


------------------------------

Date: Mon, 16 Oct 2000 19:26:27 +0200
From: Volker Moell <moell@ID-PRO.de>
Subject: Strange behaviour with pos($text), m/.../g and for(...)
Message-Id: <39EB3A43.B3E54E51@ID-PRO.de>

Hi, folks!

I have a question concerning the pos() function resp. operator in a
m/.../g mapping.

Here's a little Perl script:
------------------------(snipp)----------------------
#!/usr/bin/perl -w
use strict;

my $offset = 0;
my $text = "abcdefgABCD";
pos($text) = 0;

for (my $i = 0; $i < 4; $i++) {
    print "* pos = ", pos($text), "\n";

    $text =~ m/(.*?B)(CD)/gi;
    last unless defined $2;
    
    print "  \$1  = `$1'\n";
    print "  \$2  = `$2'\n";
    
    pos($text) = $offset += length($1) + length($2);
}
------------------------(snapp)----------------------

(Don't ask about the sense of the 4-time-loop. It's just for
demonstration.)

When running it under Perl5.6.0 the output is like I expected:

-----(snipp)-----
* pos = 0
  $1  = `ab'
  $2  = `cd'
* pos = 4
  $1  = `efgAB'
  $2  = `CD'
* pos = 11
-----(snapp)-----

But when changing the "for (my $i...)" loop to a "foreach (0..3)" or to
a "my $i = 0; while ($i < 4) { ...; $i++ }" the program behaves very
strange:

-----(snipp)-----
* pos = 0
  $1  = `ab'
  $2  = `cd'
* pos = 4
  $1  = `efgAB'
  $2  = `CD'
* pos = 11
  $1  = `efgAB'
  $2  = `CD'
* pos = 11
  $1  = `efgAB'
  $2  = `CD'
-----(snapp)-----

And to make me complete confused: Under Perl5 (5.005) even the
*for*-loop has the second output, too.


Why is there a different behaviour in these three loops? 
Is this a Perl bug or am I wrong?


Thanks for any help,

   -volker

-- 
Volker Moell <moell@ID-PRO.de> (Products & Developement)
* ID-PRO Deutschland GmbH * Am Hofgarten 20 * D-53113 Bonn
* Tel. +49 (0) 2 28-4 21 54-0 * Fax -3 59
* http://open-for-the-better.com


------------------------------

Date: Mon, 16 Oct 2000 19:53:28 +0200
From: Per Kistler <kistler@gmx.net>
To: Volker Moell <moell@ID-PRO.de>
Subject: Re: Strange behaviour with pos($text), m/.../g and for(...)
Message-Id: <39EB4098.52ECA1D3@gmx.net>

Hi Volker

I added more comments to the script and got:

use strict;

my $offset = 0;
my $text = "abcdefgABCD";
pos($text) = 0;

for (my $i = 0; $i < 4; $i++) {

    print "\nStart: pos = ", pos($text), "\n";

    $text =~ m/(.*?B)(CD)/gi;

    unless( pos($text) ){
        print "pos undefined after match\n";
        print "\$1 = $1 and \$2 = \$2\n" if defined($1) and defined($2);
        exit;
    }
    print "After match: pos = ", pos($text), "\n";
    last unless defined $2;
    
    print "  \$1  = `$1'\n";
    print "  \$2  = `$2'\n";
    
    print "Before reset: pos = ", pos($text), "\n";

    pos($text) = $offset += length($1) + length($2);

    print "End: pos = ", pos($text), "\n";
}


for perl 5.7.0:

---
Start: pos = 0
After match: pos = 4
  $1  = `ab'
  $2  = `cd'
Before reset: pos = 4
End: pos = 4

Start: pos = 4
After match: pos = 11
  $1  = `efgAB'
  $2  = `CD'
Before reset: pos = 11
End: pos = 11

Start: pos = 11
pos undefined after match
----

and for perl 5.005_03

---
Start: pos = 0
After match: pos = 4
  $1  = `ab'
  $2  = `cd'
Before reset: pos = 4
End: pos = 4

Start: pos = 4
After match: pos = 11
  $1  = `efgAB'
  $2  = `CD'
Before reset: pos = 11
End: pos = 11

Start: pos = 11
pos undefined after match
$1 = efgAB and $2 = $2
---

This seems to show, that the old perl let the variables $1,$2 set to
the last value, while 5.7.0 (developer version), deletes them, which
makes more sense. So your coce proceeds, because you only stop if
$2 is not defined.

Hope, that helps, Per.


Volker Moell wrote:
> 
> Hi, folks!
> 
> I have a question concerning the pos() function resp. operator in a
> m/.../g mapping.


-- 
Per Kistler, Zuerich, Switzerland
------------------------------------------------------------------------


------------------------------

Date: Mon, 16 Oct 2000 16:06:10 +0100
From: Geoff Soper <g.soper@soundhouse.co.uk>
Subject: What is wrong with this subroutine?
Message-Id: <4a0e6f5483g.soper@soundhouse.co.uk>

Following my problem with libraries (See libraries) I now have a malicious
subroutine within one of those libraries. Running on Apache it causes the
script to stop with a 500 error. As suggested in that thread I'm using
Carp but that didn't do anything. I've tried moving the subroutine back in
to the calling script and still it stopped with only a 500 error (nothing
from Carp). As soon as I remove the subroutine all is fine again with only
an error from Carp about the absence of this subroutine. I've been using
this routine for ages without any problems.

Anybody got any ideas?

Thanks



sub split_csv {
    
    # This will split a CSV-delimited record into its component fields
    
    my ($record) = $_[0];
    my (@fields) = ();
    my ($segment) = ();
    
    # Separate any quote-enclosed records, process both types
    
    foreach $segment (split(/("[^"]*"),* */, $record)) {        
        if ($segment =~ /^"(.*)"$/) { push(@fields, $1) }
        else { push(@fields, split(/, */, $segment)) }
    }
    return(@fields);
}

-- 
Geoff Soper
g.soper@soundhouse.co.uk
Take a look at the Soundhouse page http://www.soundhouse.co.uk/


------------------------------

Date: Mon, 16 Oct 2000 18:56:29 +0100
From: Geoff Soper <g.soper@soundhouse.co.uk>
Subject: Re: What is wrong with this subroutine?
Message-Id: <4a0e7eec4eg.soper@soundhouse.co.uk>

In article <4a0e6f5483g.soper@soundhouse.co.uk>,
   Geoff Soper <g.soper@soundhouse.co.uk> wrote:
> Following my problem with libraries (See libraries) I now have a
> malicious subroutine within one of those libraries. Running on Apache it
> causes the script to stop with a 500 error. As suggested in that thread
> I'm using Carp but that didn't do anything. I've tried moving the
> subroutine back in to the calling script and still it stopped with only
> a 500 error (nothing from Carp). As soon as I remove the subroutine all
> is fine again with only an error from Carp about the absence of this
> subroutine. I've been using this routine for ages without any problems.

Having had a look at it the only difference I can see in this subroutine
is that it is called from within other subrotuines in the same library
file. As I said this is my first attempt to take subroutines that are
common to a number of scripts and put them in one place. The method I am
copying is that which appears to have been used in the book, 'CGI/Perl
Cookbook'. In this case they have a number of common subroutines and have
put each one in a seperate .pl file and required the files which contain
the required subroutines for a given script. All they appear to have done
is to put a single subroutine in a file, added '1;' so that it returns
true and required it in the calling script. They don't appear to have done
any of the things mentioned in the PerlFAQ example 'How do I create a
module?'. Do I need to do any of these things, most I don't recognise.
I've put the library file which is causing the problem at
http://www.soundhouse.co.uk/geoff/gs_database.pl.txt

It's the split_csv subroutine which is causing the problem. 

Many thanks

-- 
Geoff Soper
g.soper@soundhouse.co.uk
Take a look at the Soundhouse page http://www.soundhouse.co.uk/


------------------------------

Date: Mon, 16 Oct 2000 11:27:28 -0400
From: "Phil R Lawrence" <prlawrence@lehigh.edu>
Subject: whence $0
Message-Id: <8sf6mu$jbg@fidoii.CC.Lehigh.EDU>

So $0 contains the name of the file containing the Perl script currently
being executed, but where can I find the path to said file?

The bigger picture:
my boss wants the -? flag to print out a help file named README.file_name
located in the same directory.

Comments?
Phil R Lawrence




------------------------------

Date: 16 Oct 2000 11:27:46 -0500
From: Tony Curtis <tony_curtis32@yahoo.com>
Subject: Re: whence $0
Message-Id: <87snpwhhtp.fsf@limey.hpcc.uh.edu>

>> On Mon, 16 Oct 2000 11:27:28 -0400,
>> "Phil R Lawrence" <prlawrence@lehigh.edu> said:

> So $0 contains the name of the file containing the Perl
> script currently being executed, but where can I find
> the path to said file?

use File::Basename;
$dir = dirname($0);

> The bigger picture: my boss wants the -? flag to print
> out a help file named README.file_name located in the
> same directory.

This may not be such a good idea.  It's probably best not
to put readme files in bin directories, as they are, after
all, not executables.  I'd put it in a separate "etc"
style directory.

hth
t
-- 
Eih bennek, eih blavek.


------------------------------

Date: 16 Oct 2000 17:10:44 GMT
From: bmetcalf@nortelnetworks.com (Brandon Metcalf)
Subject: Re: whence $0
Message-Id: <8sfcqk$oo8$1@bcarh8ab.ca.nortel.com>

prlawrence@lehigh.edu writes:

 > So $0 contains the name of the file containing the Perl script currently
 > being executed, but where can I find the path to said file?
 > 
 > The bigger picture:
 > my boss wants the -? flag to print out a help file named README.file_name
 > located in the same directory.

use FindBin;


Brandon


------------------------------

Date: Mon, 16 Oct 2000 11:14:13 -0400
From: Don <don@lclcan.com>
Subject: XBase module
Message-Id: <39EB1B45.875AFC4@lclcan.com>

For any one familiar with the DBD XBase module, here is my code:

my $port_table = new XBase "/home/ftpadmin/pub/ports.dbf";
my $port_ndx =
$port_table->prepare_select_with_index("/home/ftpadmin/pub/ports.dbf");

I get the following error message in the log file:
can't call method "prepare_select_with_index" on an undefined value at
/home/httpd/cgi-bin/myfile.cgi line 230

The files exist. Can anyone explain the error or point me to the
documentation?

Thanks,
Don



------------------------------

Date: Mon, 16 Oct 2000 08:31:51 -0700
From: Jeff Zucker <jeff@vpservices.com>
Subject: Re: XBase module
Message-Id: <39EB1F67.43473A9B@vpservices.com>

Don wrote:
> 
> For any one familiar with the DBD XBase module, here is my code:
> 
> my $port_table = new XBase "/home/ftpadmin/pub/ports.dbf";
> my $port_ndx =
> $port_table->prepare_select_with_index("/home/ftpadmin/pub/ports.dbf");
> 
> I get the following error message in the log file:
> can't call method "prepare_select_with_index" on an undefined value at
> /home/httpd/cgi-bin/myfile.cgi line 230
> 
> The files exist. Can anyone explain the error or point me to the
> documentation?

You should almost certainly be using DBD::XBase.pm instead of XBase.pm
and the documentation for it is under perldoc "DBD::XBase", no tunder
"perldoc XBase".  In any case, whenever you open a file or database, you
should use error checking to report any problems in the opening
process.  If your script tells you your'e using method x() on an
undefined value, that means that whatever object $y you are tyring in a
statement of the form $y->x() is undefined, and therefore, in this case
unopened.

-- 
Jeff


------------------------------

Date: 16 Sep 99 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 16 Sep 99)
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: The mail to news gateway, and thus the ability to submit articles
| through this service to the newsgroup, has been removed. I do not have
| time to individually vet each article to make sure that someone isn't
| abusing the service, and I no longer have any desire to waste my time
| dealing with the campus admins when some fool complains to them about an
| article that has come through the gateway instead of complaining
| to the source.

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 V9 Issue 4631
**************************************


home help back first fref pref prev next nref lref last post