[31558] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 2817 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Sun Feb 14 14:09:26 2010

Date: Sun, 14 Feb 2010 11:09:10 -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           Sun, 14 Feb 2010     Volume: 11 Number: 2817

Today's topics:
        [OT] HTML anchor tags (was Re: capturing multiple patte <tadmc@seesig.invalid>
    Re: capturing multiple patterns per line <source@netcom.com>
    Re: capturing multiple patterns per line <hjp-usenet2@hjp.at>
        DBI "Illegal parameter number" in bind_param statement  <news@lawshouse.org>
    Re: DBI "Illegal parameter number" in bind_param statem <hjp-usenet2@hjp.at>
    Re: DBI "Illegal parameter number" in bind_param statem <news@lawshouse.org>
    Re: know-how(-not) about regular expressions <hjp-usenet2@hjp.at>
    Re: Login using WWW::Mechanize <tadmc@seesig.invalid>
    Re: Login using WWW::Mechanize pastrufazio@gmail.com
    Re: Login using WWW::Mechanize <tadmc@seesig.invalid>
    Re: Login using WWW::Mechanize pastrufazio@gmail.com
    Re: Login using WWW::Mechanize <tadmc@seesig.invalid>
    Re: Login using WWW::Mechanize pastrufazio@gmail.com
    Re: Login using WWW::Mechanize <derykus@gmail.com>
    Re: Login using WWW::Mechanize <tadmc@seesig.invalid>
    Re: Login using WWW::Mechanize <mvdwege@mail.com>
        Work at Home- Earn $4,000 Weekly With Email Reading Job <smitasharma825@gmail.com>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Sat, 13 Feb 2010 16:04:56 -0600
From: Tad McClellan <tadmc@seesig.invalid>
Subject: [OT] HTML anchor tags (was Re: capturing multiple patterns per line)
Message-Id: <slrnhne89e.jb7.tadmc@tadbox.sbcglobal.net>

David Harmon <source@netcom.com> wrote:
> On Thu, 11 Feb 2010 13:21:41 +0100 in comp.lang.perl.misc, "Peter J.
> Holzer" <hjp-usenet2@hjp.at> wrote,
>>On 2010-02-11 02:03, David Harmon <source@netcom.com> wrote:
>>> On Fri, 5 Feb 2010 09:12:54 -0800 (PST) in comp.lang.perl.misc, ccc31807
>>><cartercc@gmail.com> wrote,
>>>>On Feb 5, 11:58 am, Willem <wil...@stack.nl> wrote:
>>>>>   while (<DATA>)
>>>>>   {
>>>>>     push @urls, /<a.*?href="(.*?)"/gi;
>>>>>   }
>>>>
>>>>Yes, yes, yes, you are entirely right. I thought that the non-greedy
>>>>modifier might do the trick, but
>>>
>>> Instead of .*? I think [^>]*? would be more accurate.
>>
>>Nope. ">" is allowed in a double-quoted parameter value.
>
> OK, thanks for that.  But then, "href=" is not in all "<a" tags, i.e.
> the ones that specify "name=" instead.  


Using the "name" attribute on <a> tags, without also supplying the same
value in an "id" attribute, has been deprecated by the W3C for about a 
decade now:

    http://www.w3.org/TR/xhtml1/#C_8


> So the "href=" matched above
> might not even be part of a tag.

Or it might be part of one of the other elements that have href attributes.


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.liamg\100cm.j.dat/"


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

Date: Sat, 13 Feb 2010 13:25:45 -0800
From: David Harmon <source@netcom.com>
Subject: Re: capturing multiple patterns per line
Message-Id: <yNSdnVb9p_-LhOrWnZ2dnUVZ_qOdnZ2d@earthlink.com>

On Thu, 11 Feb 2010 13:21:41 +0100 in comp.lang.perl.misc, "Peter J.
Holzer" <hjp-usenet2@hjp.at> wrote,
>On 2010-02-11 02:03, David Harmon <source@netcom.com> wrote:
>> On Fri, 5 Feb 2010 09:12:54 -0800 (PST) in comp.lang.perl.misc, ccc31807
>><cartercc@gmail.com> wrote,
>>>On Feb 5, 11:58 am, Willem <wil...@stack.nl> wrote:
>>>>   while (<DATA>)
>>>>   {
>>>>     push @urls, /<a.*?href="(.*?)"/gi;
>>>>   }
>>>
>>>Yes, yes, yes, you are entirely right. I thought that the non-greedy
>>>modifier might do the trick, but
>>
>> Instead of .*? I think [^>]*? would be more accurate.
>
>Nope. ">" is allowed in a double-quoted parameter value.

OK, thanks for that.  But then, "href=" is not in all "<a" tags, i.e.
the ones that specify "name=" instead.  So the "href=" matched above
might not even be part of a tag.


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

Date: Sat, 13 Feb 2010 23:02:00 +0100
From: "Peter J. Holzer" <hjp-usenet2@hjp.at>
Subject: Re: capturing multiple patterns per line
Message-Id: <slrnhne8ap.1a3.hjp-usenet2@hrunkner.hjp.at>

On 2010-02-13 21:25, David Harmon <source@netcom.com> wrote:
> On Thu, 11 Feb 2010 13:21:41 +0100 in comp.lang.perl.misc, "Peter J.
> Holzer" <hjp-usenet2@hjp.at> wrote,
>>On 2010-02-11 02:03, David Harmon <source@netcom.com> wrote:
>>> On Fri, 5 Feb 2010 09:12:54 -0800 (PST) in comp.lang.perl.misc, ccc31807
>>><cartercc@gmail.com> wrote,
>>>>On Feb 5, 11:58 am, Willem <wil...@stack.nl> wrote:
>>>>>   while (<DATA>)
>>>>>   {
>>>>>     push @urls, /<a.*?href="(.*?)"/gi;
>>>>>   }
>>>>
>>>>Yes, yes, yes, you are entirely right. I thought that the non-greedy
>>>>modifier might do the trick, but
>>>
>>> Instead of .*? I think [^>]*? would be more accurate.
>>
>>Nope. ">" is allowed in a double-quoted parameter value.
>
> OK, thanks for that.  But then, "href=" is not in all "<a" tags, i.e.
> the ones that specify "name=" instead.  So the "href=" matched above
> might not even be part of a tag.

Oh, you meant the first .*?. I thought you meant the second one.
Yes, the first one is a drastic oversimplification. But changing it to
[^>]*? makes it only marginally better.

	hp



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

Date: Sun, 14 Feb 2010 16:39:51 +0000
From: Henry Law <news@lawshouse.org>
Subject: DBI "Illegal parameter number" in bind_param statement ... but it's not
Message-Id: <I6mdnRHA1r_JuuXWnZ2dnUVZ8l-dnZ2d@giganews.com>

I'm trying to do something very simple: query an existing MYSQL table 
for a single row or set of similar rows.  Code fragment below.  I'm 
getting "Illegal parameter number" but my code looks perfectly correct. 
  I've looked at the module source and the appropriate section is

   if (param_num <= 0  ||  param_num > DBIc_NUM_PARAMS(imp_sth))
   {
     do_error(sth ... etc

This suggests that the only test is on the size of the parameter number.

Of course I've Googled, both web and groups; numerous hits but all much 
more complicated than my example, and the fixes don't help.  Can someone 
suggest where to look next, please?

------------ code fragment (not executable as it is ) ------------
> my $qry_sth = $dbh->prepare("SELECT * FROM master WHERE name='?' ORDER BY mod_date DESC")
>     or die "Failed to prepare SELECT statement\n";

>   # Query the DB and check the file(s) returned
>   $qry_sth->bind_param( 1, "$_" );
>   $qry_sth->execute() or die "Execute of query statement failed\n";
------------------------------------------------------------------

Error is "DBD::mysql::st bind_param failed: Illegal parameter number at 
bin/chkmaster.pl line 106.", which is the execute statement.

I checked with different file names, in case there was something in the 
name itself that was causing the error, but it happens with all file 
names as far as I can see.

OS is Ubuntu Linux, SQL version is 5.0.67

-- 

Henry Law            Manchester, England


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

Date: Sun, 14 Feb 2010 18:03:40 +0100
From: "Peter J. Holzer" <hjp-usenet2@hjp.at>
Subject: Re: DBI "Illegal parameter number" in bind_param statement ... but it's not
Message-Id: <slrnhngb7d.7sl.hjp-usenet2@hrunkner.hjp.at>

On 2010-02-14 16:39, Henry Law <news@lawshouse.org> wrote:
> I'm trying to do something very simple: query an existing MYSQL table 
> for a single row or set of similar rows.  Code fragment below.  I'm 
> getting "Illegal parameter number" but my code looks perfectly correct. 
>   I've looked at the module source and the appropriate section is
[...]
> ------------ code fragment (not executable as it is ) ------------
>> my $qry_sth = $dbh->prepare("SELECT * FROM master WHERE name='?' ORDER BY mod_date DESC")

This query contains NO parameters. It contains the constant string '?'. 

I assume you meant 

   my $qry_sth = $dbh->prepare("SELECT * FROM master WHERE name=? ORDER BY mod_date DESC")

instead.

	hp



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

Date: Sun, 14 Feb 2010 17:24:08 +0000
From: Henry Law <news@lawshouse.org>
Subject: Re: DBI "Illegal parameter number" in bind_param statement ... but it's not
Message-Id: <Q86dnQl198kprOXWnZ2dnUVZ7s5i4p2d@giganews.com>

Peter J. Holzer wrote:
> On 2010-02-14 16:39, Henry Law <news@lawshouse.org> wrote:
>> I'm trying to do something very simple: query an existing MYSQL table 
>> for a single row or set of similar rows.  Code fragment below.  I'm 
>> getting "Illegal parameter number" but my code looks perfectly correct. 

>> ------------ code fragment (not executable as it is ) ------------
>>> my $qry_sth = $dbh->prepare("SELECT * FROM master WHERE name='?' ORDER BY mod_date DESC")
> 
> This query contains NO parameters. It contains the constant string '?'. 


Well, it's not often that I laugh out loud at the simplicity of my 
error.  I knew that "name" is alphanumeric, so I put in the single 
quotes that the query engine needs when you use the command line.  Duh...

Thank you very much.

-- 

Henry Law            Manchester, England


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

Date: Sun, 14 Feb 2010 13:11:13 +0100
From: "Peter J. Holzer" <hjp-usenet2@hjp.at>
Subject: Re: know-how(-not) about regular expressions
Message-Id: <slrnhnfq33.mqm.hjp-usenet2@hrunkner.hjp.at>

On 2010-02-13 17:15, sln@netherlands.com <sln@netherlands.com> wrote:
> On Fri, 12 Feb 2010 15:22:20 -0800, sln@netherlands.com wrote:
>
>>On Fri, 12 Feb 2010 12:40:14 +0100, Helmut Richter <hhr-m@web.de> wrote:
>>
> [snip]
>
>>Yea, this is better. Slow but maybe try to reduce copying with a while(/.../g) type
>>of thing.
>
> [snip]
>
>>>This version runs considerably slower, by a factor of three
>
> [snip]
>
>>I didn't bench the code, its probably fairly quick.
>
> [snip]
>
> I did bench the code on a 7 mbyte file  'mscore.xml'.
> What really makes it slow on large files is the constant
> "appending" to a variable. Its roughly 2 times + slower doing
> it this way.
>
> The fastest way to do it, is to write it to the disk as you
> get it. Pass in a filehandle, or some other method.
>
> Perl  would have to spend all its time on realloc() because
> of all the appending.

That's a surprising result. Perl doubles the size of a string every time
it needs to expand it, so it shouldn't have to realloc much
(only O(log(length($MarkupNew))) times).

As it is, I cannot reproduce your result. Trying it on a 22 MB file I
get these times:

append     9.031   9.041   9.150
tempfile   9.285   9.370   9.479

As you can see, appending is consistently faster than writing to a
temporary file and reading it back.

According to Devel::NYTProf nearly all of the time is spent in these
lines:


    while ($$markup =~ /$Rxmarkup/g)

    $begin_pos = pos($$markup);

    while ($$strref =~ /$Rxent/g) {

where the second is the end of the loop started in the first, so I
suspect that the time attributed to the second line is really spent in
the match, not the pos call.

	hp

PS: The nytprofhtml output is at http://www.hjp.at/junk/nytprof/



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

Date: Sat, 13 Feb 2010 14:40:44 -0600
From: Tad McClellan <tadmc@seesig.invalid>
Subject: Re: Login using WWW::Mechanize
Message-Id: <slrnhne3bi.j68.tadmc@tadbox.sbcglobal.net>

pastrufazio@gmail.com <pastrufazio@gmail.com> wrote:


> SCENARIO: I want to download some pdf from a website using my account 
> using login/password. I found WWW::Mechanize that apparently is exactly 
> what I need.
>
> The usage example is clear:
>
>     use WWW::Mechanize;
>     use CGI;
>
>     my $cgi = CGI->new();
>     my $form = $cgi->Vars;
>
>     my $agent = WWW::Mechanize->new();
>
>     $agent->get('http://www.livejournal.com/login.bml');
>     $agent->form_number('3');


The 3rd form on that page is NOT a login form. The 1st form on
that page is a login form.

The 3rd form on the http://www.livejournal.com/ page is a login form
though.

You should probably use:

    $agent->get('http://www.livejournal.com/');
    $agent->form_id('login');

to find the correct form rather than rely on a particular position on
the page (which is sure to change at some point).


>     $agent->field('user',$form->{user});
>     $agent->field('password',$form->{password});
>     $agent->submit();


Does it work when you replace the $form values with your
hardcoded username and password?

(of course not, you are not submitting the right form)

If so, then you do not have a problem related to Mechanize.


><form name="form1" method="post" action="login.aspx" 
                                          ^^^^^^^^^^

That is a strange name for a Perl program...


> <input name="Login1$UserName" 

    $agent->field('user',$form->{'Login1$UserName'});

> <input name="Login1$Password" 

    $agent->field('password',$form->{'Login1$Password'});

Your form does not use the same form field names that LiveJournal's
form uses, you need to keep straight which field name is the one
you want in each context.


Here is the most helpful bit of advise in this whole post:

    You should get the login/page fetch working *from the command line*
    first, and then integrate it into your web application.


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.liamg\100cm.j.dat/"


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

Date: 13 Feb 2010 21:02:39 GMT
From: pastrufazio@gmail.com
Subject: Re: Login using WWW::Mechanize
Message-Id: <4b77136f$0$1126$4fafbaef@reader3.news.tin.it>

Il Sat, 13 Feb 2010 14:40:44 -0600, Tad McClellan ha scritto:

> You should probably use:
> 
>     $agent->get('http://www.livejournal.com/');
>     $agent->form_id('login');
> 
> to find the correct form rather than rely on a particular position on
> the page (which is sure to change at some point).
> 
> 
>>     $agent->field('user',$form->{user});
>>     $agent->field('password',$form->{password}); $agent->submit();
> 
> 
> Does it work when you replace the $form values with your hardcoded
> username and password?
> 
> (of course not, you are not submitting the right form)
> 
> If so, then you do not have a problem related to Mechanize.
> 
>
You are right, your version is much stronger that the one in the example, 
I'll treasure your advise!
 
>><form name="form1" method="post" action="login.aspx"
>                                           ^^^^^^^^^^
> 
> That is a strange name for a Perl program...
> 
No sorry, I did't make myself clear! The web page is not mine: it is a 
commercial site where I have an account and I want to automate my access 
on it =) sorry for my imprecision.



>> <input name="Login1$UserName"
> 
>     $agent->field('user',$form->{'Login1$UserName'});
> 
>> <input name="Login1$Password"
> 
>     $agent->field('password',$form->{'Login1$Password'});
> 
> Your form does not use the same form field names that LiveJournal's form
> uses, you need to keep straight which field name is the one you want in
> each context.
> 
Clear!

> 
> Here is the most helpful bit of advise in this whole post:
> 
>     You should get the login/page fetch working *from the command line*
>     first, and then integrate it into your web application.

Thank you very much!!



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

Date: Sat, 13 Feb 2010 15:51:49 -0600
From: Tad McClellan <tadmc@seesig.invalid>
Subject: Re: Login using WWW::Mechanize
Message-Id: <slrnhne7gr.jb7.tadmc@tadbox.sbcglobal.net>

pastrufazio@gmail.com <pastrufazio@gmail.com> wrote:
> Il Sat, 13 Feb 2010 14:40:44 -0600, Tad McClellan ha scritto:

>>><form name="form1" method="post" action="login.aspx"
>>                                           ^^^^^^^^^^
>> 
>> That is a strange name for a Perl program...
>> 
> No sorry, I did't make myself clear! The web page is not mine: 


Your program included use of the CGI module, sure you DO own
the page that submits a form to the program you posted?


> commercial site where I have an account and I want to automate my access 
> on it


It would be very easy to violate their Terms of Service by doing that.

Have you looked to see if what you want to do is allowed?

    http://www.livejournal.com/legal/tos.bml

    http://www.livejournal.com/bots/


>> Here is the most helpful bit of advise in this whole post:
>> 
>>     You should get the login/page fetch working *from the command line*
>>     first, and then integrate it into your web application.
>
> Thank you very much!!


Does that mean that you _will_ get it working from the command line first?


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.liamg\100cm.j.dat/"


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

Date: 13 Feb 2010 22:18:23 GMT
From: pastrufazio@gmail.com
Subject: Re: Login using WWW::Mechanize
Message-Id: <4b77252f$0$1123$4fafbaef@reader3.news.tin.it>

Il Sat, 13 Feb 2010 15:51:49 -0600, Tad McClellan ha scritto:
 
> Your program included use of the CGI module, sure you DO own the page
> that submits a form to the program you posted?
> 
I will write a perl script doing the work. So: the script is on my pc, 
the website involved in the login is on Internet.

Sorry... unfortunately my english is crapy.

> It would be very easy to violate their Terms of Service by doing that.
> 
> Have you looked to see if what you want to do is allowed?
> 
>

livejournal was only an example found here 

http://search.cpan.org/~PETDANCE/WWW-Mechanize-1.60/lib/WWW/Mechanize/
Examples.pod#lj_friends.cgi,_by_Matt_Cashner

now I have to check if the terms of use of the other website allow me to 
do what i want to do! 
 
> Does that mean that you _will_ get it working from the command line
> first?

Yes, and precisely _only_ from the command line! (I will insert an enty 
in my crontab scheduling the script)




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

Date: Sat, 13 Feb 2010 17:15:25 -0600
From: Tad McClellan <tadmc@seesig.invalid>
Subject: Re: Login using WWW::Mechanize
Message-Id: <slrnhnecdj.jgf.tadmc@tadbox.sbcglobal.net>

pastrufazio@gmail.com <pastrufazio@gmail.com> wrote:
> Il Sat, 13 Feb 2010 15:51:49 -0600, Tad McClellan ha scritto:
>  
>> Your program included use of the CGI module, sure you DO own the page
>> that submits a form to the program you posted?
>> 
> I will write a perl script doing the work. So: the script is on my pc, 
> the website involved in the login is on Internet.


Errr, so why did your code use the CGI module then?

That module is not very useful if your program is not running
in the CGI environment...


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.liamg\100cm.j.dat/"


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

Date: 13 Feb 2010 23:30:52 GMT
From: pastrufazio@gmail.com
Subject: Re: Login using WWW::Mechanize
Message-Id: <4b77362b$0$1126$4fafbaef@reader3.news.tin.it>

Il Sat, 13 Feb 2010 17:15:25 -0600, Tad McClellan ha scritto:

> Errr, so why did your code use the CGI module then?
> 
> That module is not very useful if your program is not running in the CGI
> environment...

argh! so I'm not using the proper module, right!? 

sorry, but I'm really new with Perl! so, what can I use in a simple 
script tologin automatially to a website and retrieve a file?


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

Date: Sat, 13 Feb 2010 17:27:07 -0800 (PST)
From: "C.DeRykus" <derykus@gmail.com>
Subject: Re: Login using WWW::Mechanize
Message-Id: <206d8510-d142-4006-92ae-ea1ee16e4eb9@b9g2000pri.googlegroups.com>

On Feb 13, 3:30=A0pm, pastrufa...@gmail.com wrote:
> Il Sat, 13 Feb 2010 17:15:25 -0600, Tad McClellan ha scritto:
>
> > Errr, so why did your code use the CGI module then?
>
> > That module is not very useful if your program is not running in the CG=
I
> > environment...
>
> argh! so I'm not using the proper module, right!?
>
> sorry, but I'm really new with Perl! so, what can I use in a simple
> script tologin automatially to a website and retrieve a file?

If the website requires basic authorization, see the lwp cookbook
example in section "Access to Protected Documents":

http://search.cpan.org/~gaas/libwww-perl-5.834/lwpcook.pod


--
Charles DeRykus


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

Date: Sat, 13 Feb 2010 20:45:35 -0600
From: Tad McClellan <tadmc@seesig.invalid>
Subject: Re: Login using WWW::Mechanize
Message-Id: <slrnhneonl.jld.tadmc@tadbox.sbcglobal.net>

pastrufazio@gmail.com <pastrufazio@gmail.com> wrote:
> Il Sat, 13 Feb 2010 17:15:25 -0600, Tad McClellan ha scritto:
>
>> Errr, so why did your code use the CGI module then?
>> 
>> That module is not very useful if your program is not running in the CGI
>> environment...
>
> argh! so I'm not using the proper module, right!? 
                         ^^^
                         ^^^ ?
You are using 2 modules.

One of them is the right thing for mechanizing access to web pages,
and one of them is the right thing for programs that run in the
CGI environment.

You do not need CGI.pm if you are not in a CGI environment.


> sorry, but I'm really new with Perl! so, what can I use in a simple 
> script tologin automatially to a website and retrieve a file?


WWW::Mechanize.


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.liamg\100cm.j.dat/"


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

Date: Sun, 14 Feb 2010 12:27:53 +0100
From: Mart van de Wege <mvdwege@mail.com>
Subject: Re: Login using WWW::Mechanize
Message-Id: <86mxzcf45i.fsf@gareth.avalon.lan>

pastrufazio@gmail.com writes:

>  
>> Does that mean that you _will_ get [a WWW::Mechanize script] working
>> from the command line first?
>
> Yes, and precisely _only_ from the command line! (I will insert an enty 
> in my crontab scheduling the script)
>
Side note:

In my day job I manage a bunch of appliances for customers. These things
are only accessible through their Web-UI. In order to do backups, I
wrote a WWW::Mechanize script to log in, post the backup request form
and save the response (a backup of the config file).

The best way I found to test my automated login and post sequences was
manually running the necessary methods from the Zoidberg shell. Try
downloading and installing Zoidberg, and you can easily test all sorts
of constructs before writing them up in a script.

Regards,

Mart

-- 
"We will need a longer wall when the revolution comes."
--- AJS, quoting an uncertain source.


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

Date: Sun, 14 Feb 2010 08:55:15 -0800 (PST)
From: smita sharma <smitasharma825@gmail.com>
Subject: Work at Home- Earn $4,000 Weekly With Email Reading Jobs
Message-Id: <d98b51d2-86e1-46c0-9213-807ebb443571@y7g2000prc.googlegroups.com>

Work at Home- Earn $4,000 Weekly With Email Reading Jobs

Get Paid $5 For Each New Sign Ups - Easy To make Money

Make More Than $200 A Day , Register Now To Start earning At

http://moourl.com/lvi7k


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

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:

To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.

Back issues are available via anonymous ftp from
ftp://cil-www.oce.orst.edu/pub/perl/old-digests. 

#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 2817
***************************************


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