[32550] in Perl-Users-Digest
Perl-Users Digest, Issue: 3816 Volume: 11
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Sat Nov 10 16:09:22 2012
Date: Sat, 10 Nov 2012 13:09:08 -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, 10 Nov 2012 Volume: 11 Number: 3816
Today's topics:
CGI NET::SSH browser problem <gkrasinski@gmail.com>
Re: how does $#array work internally? <rweikusat@mssgmbh.com>
Re: how does $#array work internally? <rweikusat@mssgmbh.com>
Re: how does $#array work internally? <ben@morrow.me.uk>
Re: how does $#array work internally? <rweikusat@mssgmbh.com>
Re: Is Perl dying or not? <cartercc@gmail.com>
Re: lerning perl <cartercc@gmail.com>
Re: lerning perl <cartercc@gmail.com>
Re: lerning perl <gogala.mladen@gmail.com>
Re: lerning perl <ben@morrow.me.uk>
Re: script help <cartercc@gmail.com>
Server response validation? <tuxedo@mailinator.com>
Re: Server response validation? <ben@morrow.me.uk>
Re: Server response validation? <tuxedo@mailinator.com>
Re: Server response validation? <ben@morrow.me.uk>
Re: Server response validation? <tuxedo@mailinator.com>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Sat, 10 Nov 2012 05:22:32 -0800 (PST)
From: karraso <gkrasinski@gmail.com>
Subject: CGI NET::SSH browser problem
Message-Id: <ad4ce2ef-e11d-4fcc-8181-d7638e3350a9@googlegroups.com>
Hello,
It is my first post to this group, any way.
I wrote script in perl and it is working fine with cmdline, but in cgi it doesn't.
The browser doesn't print any outputs.
###################################################
open(wynik, ">plik.txt");
use Net::SSH qw(sshopen2);
$user = "user";
$host = "host";
$cmd = "/bin/bash";
@commands = ('ls -l');
sshopen2("$user\@$host", *READER, *WRITER, "$cmd") || die "ssh: $!";
foreach(@commands) {
print WRITER "$_ && echo DDDOOONNNEEE\n";
while (<READER>) {
chomp();
push (@tablica, $_);
last if /DDDOOONNNEEE/;
print "$_\n";
}
}
print wynik "@tablica";
And @tablica is empty when I use cgi. With cmdline the script is working fine, all data are included in @ and in file.
I'm using apache serwer, so maybe there is a problem with userid or access to private key on my pc.
Could you tell me where is the problem? How can I fix it?
BR
karraso
------------------------------
Date: Fri, 09 Nov 2012 16:14:58 +0000
From: Rainer Weikusat <rweikusat@mssgmbh.com>
Subject: Re: how does $#array work internally?
Message-Id: <87sj8ieosd.fsf@sapphire.mobileactivedefense.com>
Ben Morrow <ben@morrow.me.uk> writes:
> Quoth Rainer Weikusat <rweikusat@mssgmbh.com>:
>>
>> In 1943, Joseph Goebbels held an infamous speech in the so-called
>
> Godwin. You lose.
To quote myself: Everything can be proven with a suitable set of out
of context quotes. Of course, when 'we' add 'intentional misquotation'
to the repertoire, as in "As an online discussion grows longer, the
probability of a comparison involving Nazis or Hitler approaches 1."
vs an explanation of the background (hundreds of men shouting "Yes!"
at the top of their lungs) I needed to get an absurd example for a
totally 'generic' quote, possibilities become infinite. But you can
just use "Just say no" in place of the example I used without really
changing the meaning.
------------------------------
Date: Fri, 09 Nov 2012 16:23:52 +0000
From: Rainer Weikusat <rweikusat@mssgmbh.com>
Subject: Re: how does $#array work internally?
Message-Id: <87obj6eodj.fsf@sapphire.mobileactivedefense.com>
Rainer Weikusat <rweikusat@mssgmbh.com> writes:
> Ben Morrow <ben@morrow.me.uk> writes:
>> Quoth Rainer Weikusat <rweikusat@mssgmbh.com>:
>>>
>>> In 1943, Joseph Goebbels held an infamous speech in the so-called
>>
>> Godwin. You lose.
>
> To quote myself: Everything can be proven with a suitable set of out
> of context quotes. Of course, when 'we' add 'intentional misquotation'
> to the repertoire
[...]
> possibilities become infinite.
Since this is sort of serious topic, I suggest that you should also
have a look at this:
http://www.jewcy.com/arts-and-culture/i_seem_be_verb_18_years_godwins_law
------------------------------
Date: Sat, 10 Nov 2012 03:34:47 +0000
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: how does $#array work internally?
Message-Id: <nju0n9-hag.ln1@anubis.morrow.me.uk>
Quoth Rainer Weikusat <rweikusat@mssgmbh.com>:
> Ben Morrow <ben@morrow.me.uk> writes:
> > Quoth Rainer Weikusat <rweikusat@mssgmbh.com>:
> >>
> >> In 1943, Joseph Goebbels held an infamous speech in the so-called
> >
> > Godwin. You lose.
>
> To quote myself: Everything can be proven with a suitable set of out
> of context quotes. Of course, when 'we' add 'intentional misquotation'
> to the repertoire, as in "As an online discussion grows longer, the
> probability of a comparison involving Nazis or Hitler approaches 1."
> vs an explanation of the background (hundreds of men shouting "Yes!"
> at the top of their lungs) I needed to get an absurd example for a
> totally 'generic' quote, possibilities become infinite. But you can
> just use "Just say no" in place of the example I used without really
> changing the meaning.
...which is why you should have picked a different analogy, or, better,
considered whether that sort of offensive hyperbole is appropriate in a
technical newsgroup.
Ben
------------------------------
Date: Sat, 10 Nov 2012 14:54:54 +0000
From: Rainer Weikusat <rweikusat@mssgmbh.com>
Subject: Re: how does $#array work internally?
Message-Id: <87ip9do6dd.fsf@sapphire.mobileactivedefense.com>
Ben Morrow <ben@morrow.me.uk> writes:
> Quoth Rainer Weikusat <rweikusat@mssgmbh.com>:
>> Ben Morrow <ben@morrow.me.uk> writes:
>> > Quoth Rainer Weikusat <rweikusat@mssgmbh.com>:
>> >>
>> >> In 1943, Joseph Goebbels held an infamous speech in the so-called
>> >
>> > Godwin. You lose.
>>
>> To quote myself: Everything can be proven with a suitable set of out
>> of context quotes. Of course, when 'we' add 'intentional misquotation'
>> to the repertoire, as in "As an online discussion grows longer, the
>> probability of a comparison involving Nazis or Hitler approaches 1."
>> vs an explanation of the background (hundreds of men shouting "Yes!"
>> at the top of their lungs) I needed to get an absurd example for a
>> totally 'generic' quote, possibilities become infinite. But you can
>> just use "Just say no" in place of the example I used without really
>> changing the meaning.
>
> ...which is why you should have picked a different analogy, or, better,
> considered whether that sort of offensive hyperbole is appropriate in a
> technical newsgroup.
This was neither an analogy nor an 'offensive hyperbole': Just a film
scene I happened to remember at that moment which is - in hindsight -
rather ridicolous than anything else which provided an example for a
quote taken out of context (because - obviously - not every question
asked in every other context generates a response of this kind).
I wasn't originally planning to write more on this because it really
doesn't belong here but - alas - ... The essence behind "Godwin's law"
(as also explained in the text I posted a hyperlink to) is that people
shouldn't publically claim that other people who disagree with them on
some kind of 'internet petty problem' would act "like Nazis" because -
considering the 'industrialized' killing of millions of people for no
particular reason which the Nazis conducted in Europe last century -
this is totally over the top for any kind of discussion, no matter how
opinionated. And wrongly accusing people of having done this, again,
because of some kind of petty disagreement, is not much better, Mr
Morrow.
#
------------------------------
Date: Fri, 9 Nov 2012 14:58:30 -0800 (PST)
From: ccc31807 <cartercc@gmail.com>
Subject: Re: Is Perl dying or not?
Message-Id: <9b0f2004-6cb7-4996-b7c6-884b8c3b69cd@googlegroups.com>
On Saturday, October 20, 2012 11:43:41 AM UTC-4, Randal L. Schwartz wrote:
> Perl is alive and well. More people are using it, every day. In fact,
> I know employers that cannot *hire* enough Perl programmers for both
> legacy and new projects. So it's a seller's market if you know Perl.
I meet people from time to time who work or have worked in technology, and =
after a while we get around to talking about Perl. I'm always surprised (ev=
en though I shouldn't be by now) when they say that they use(d) Perl. It re=
ally is surprising how often that turns up.
By the same token, most languages are 'dying'. For example, over the past s=
everal years, I have become heavily invested in Common Lisp. This is a very=
powerful and mature language, yet has the reputation of a dead language li=
ke Latin, something with a wonderful past but no present or future. Still, =
Common Lisp has domains where it can't be beat and still has features that =
other languages haven't even thought of. According to popular wisdom, Lisp =
is dead, but the popular wisdom is just wrong.
Randal, I keep my finger on the pulse of the job market, and all I see are =
jobs in .NET, Java jobs, and a goodly number of Python and PHP jobs. Perl j=
obs seem to be mostly six month contracts. I trust that you know what you'r=
e talking about, but I don't see it, probably because I don't have your con=
nections. If one were to look for Perl jobs, where do you suggest that one =
start?
Thanks, CC.
------------------------------
Date: Fri, 9 Nov 2012 14:34:12 -0800 (PST)
From: ccc31807 <cartercc@gmail.com>
Subject: Re: lerning perl
Message-Id: <404bfd46-8e8d-47f9-8a44-6a3325060342@googlegroups.com>
On Monday, October 29, 2012 9:19:38 PM UTC-4, Bill Cunningham wrote:
> Is the best way to learn perl to start with perlintro and then move in a=
=20
Let me make a suggestion that's probably fundamental to learning any langua=
ge, whether a programming language or any other kind of language: have a re=
al need to learn the language.
The only way (repeat, ONLY) to really learn a language is to use it every d=
ay for real work. In many cases, Real Work means having to meet the demands=
of a manager, customer, or some other person in authority.
My first exposure to Perl was academic, but then I used it for web applicat=
ions, then got a job as a database manager and starting using it for databa=
se applications. I can't say I have a broad knowledge of Perl, but I certai=
nly have a very deep understanding of those aspects of Perl that relate to =
the size of my paycheck!
You don't learn Perl by reading a book, even the Good Book which is the Per=
l documentation. You learn Perl the same way you learn to cook or to play a=
musical instrument or anything else --- practice, practice practice. Every=
day for hours on end. If you don't do this, you will never learn Perl, or =
anyother language for that matter.
Books are very important, and I have over the years accumulated a shelf of =
books on Perl. I've managed to read most of them, and some of them I have r=
ead multiple times. I have the documentation on my hard drive and many time=
s I have it open in a web browser when I'm writing Perl, it's that importan=
t. But as important as all of these things are, nothing is more important t=
han engaging in the practice of writing Perl.
CC.
------------------------------
Date: Fri, 9 Nov 2012 14:43:41 -0800 (PST)
From: ccc31807 <cartercc@gmail.com>
Subject: Re: lerning perl
Message-Id: <fe3f4474-1332-4b6d-a06a-45306b3ab8d1@googlegroups.com>
On Monday, November 5, 2012 3:48:05 PM UTC-5, Ben Morrow wrote:
> No. It's just like being a musician, or an artist: some people can do
> it, some can't, and if you can't you might be able (with a lot of work)
> to learn enough of the basics to bang out something approximately
> reasonable, but you'll never do it well.
I'm not sure that I agree. With some things, you just have to learn basic s=
tuff to do well. If you can fry potatoes and grill hamburgers you can cook,=
even though you will never be a chef. If you can learn to play hymns from =
a hymnbook you can be a church pianist, even though you might not be a conc=
ert master.
I've got a buddy who works for a defense contractor and bangs out user appl=
ications in VB for a living. He's written a ton of code over the years and =
does well financially. He's the only one in his unit who does what he does,=
and he performs an essential function for his unit. He's not a programmer,=
and doesn't know VB real well, but he's mastered the art of slinging code =
to perform useful functions.
In many cases, it's not what you've got, but how you use what you've got. I=
don't disagree that some people have natural talent that the rest of us ca=
n't match, but that doesn't mean that thos of us without the talent can't m=
ake a contribution.
CC.
------------------------------
Date: Sat, 10 Nov 2012 01:05:57 +0000 (UTC)
From: Mladen Gogala <gogala.mladen@gmail.com>
Subject: Re: lerning perl
Message-Id: <pan.2012.11.10.01.05.51@gmail.com>
On Fri, 09 Nov 2012 14:34:12 -0800, ccc31807 wrote:
> The only way (repeat, ONLY) to really learn a language is to use it
> every day for real work. In many cases, Real Work means having to meet
> the demands of a manager, customer, or some other person in authority.
Commonly known as "PHB".
--
Mladen Gogala
The Oracle Whisperer
http://mgogala.byethost5.com
------------------------------
Date: Sat, 10 Nov 2012 04:09:43 +0000
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: lerning perl
Message-Id: <7l01n9-pjg.ln1@anubis.morrow.me.uk>
Quoth ccc31807 <cartercc@gmail.com>:
> On Monday, November 5, 2012 3:48:05 PM UTC-5, Ben Morrow wrote:
> > No. It's just like being a musician, or an artist: some people can do
> > it, some can't, and if you can't you might be able (with a lot of work)
> > to learn enough of the basics to bang out something approximately
> > reasonable, but you'll never do it well.
>
> I'm not sure that I agree. With some things, you just have to learn
> basic stuff to do well. If you can fry potatoes and grill hamburgers you
> can cook, even though you will never be a chef. If you can learn to play
> hymns from a hymnbook you can be a church pianist, even though you might
> not be a concert master.
I didn't mean 'doing well' in the sense of making money, or making a
useful contribution to society, but in the sense of doing whatever it is
you are doing, considered as an end in itself, as well as it can be
done. There is certainly a place for mediocre cooks and mediocre
musicians, and the fact they are mediocre doesn't necessarily diminish
the usefulness of what they are doing. It simply means that a good cook
or a good musician doing that job, if you could get one to do it, would
do it a whole lot better.
(Cooking might be a bad example. I'm not convinced that cooking at any
level below high-class restaurant food requires anything more than
application and experience to do well.)
> I've got a buddy who works for a defense contractor and bangs out user
> applications in VB for a living. He's written a ton of code over the
> years and does well financially. He's the only one in his unit who does
> what he does, and he performs an essential function for his unit. He's
> not a programmer, and doesn't know VB real well, but he's mastered the
> art of slinging code to perform useful functions.
Right, there are plenty of jobs for bad programmers. It doesn't stop
them from being bad programmers, though, and it doesn't change the fact
that for many (probably most) people no matter how hard they work they
will never be good programmers. If your only interest is in earning
money that may not matter, but I don't consider that particularly
important (necessary, yes, but neither interesting nor valuable in the
general sense).
> In many cases, it's not what you've got, but how you use what you've
> got. I don't disagree that some people have natural talent that the rest
> of us can't match, but that doesn't mean that thos of us without the
> talent can't make a contribution.
I'm sure you won't like me saying this, and it is certainly *not*
directed at anyone in particular, but there are far too many bad
programmers in the world and they do far more damage than they realise.
The entire PHP ecosystem (language, interpreter, libraries, the lot) is
a scary example of the way code written by people who really had no
business writing code can end up being used for important and security-
sensitive applications. (Many of the CGI scripts written in Perl and
copied from one site to another before PHP came along were an earlier
example.)
Ben
------------------------------
Date: Fri, 9 Nov 2012 15:07:28 -0800 (PST)
From: ccc31807 <cartercc@gmail.com>
Subject: Re: script help
Message-Id: <2e25adcd-f927-42f0-bcc0-11feab15ea42@googlegroups.com>
On Friday, October 19, 2012 5:37:03 PM UTC-4, rvae...@gmail.com wrote:
> I wanted to read a file and select the first 2 characters and if they are 9A or 7A
> I want to zero out columns 18 to 22 and 25 to 29.
> If this can be done in Perl and Bash.
> Can someone assist please. thanks
Assuming that you have some kind of delimited file, you can do it like this (in pseudocode)
open infile
open outfile
while (<infile>)
{
if(first two characters don't match /[79]A/)
then write the line to the outfile
else
convert the line to an array
set the array elements [18-22][25-29] to 0
join the array back to a line
write the line to the outfile
}
close infile
close outfile
------------------------------
Date: Sat, 10 Nov 2012 01:20:10 +0100
From: Tuxedo <tuxedo@mailinator.com>
Subject: Server response validation?
Message-Id: <k7k6jr$148$1@news.albasani.net>
This may be a vague question but which perl network tools or procedures are
good to determine if a hostname or IP exist and that is suitable for a cgi
request that allows user-input of any URL string?
An HTTP status code may return any response, such as 200, 404 or something
else. Whatever the response may be, as long as there is an actual response,
DNS record or server existing, a subroutine should return true. If however
the hostname or IP is non-existing, or if the user input has a wrong
syntax, the perl code should return false.
Presumably countless modules and procedures exist that do this and more.
Any ideas for good solutions would be much appreciated.
Many thanks,
Tuxedo
------------------------------
Date: Sat, 10 Nov 2012 04:20:54 +0000
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: Server response validation?
Message-Id: <6a11n9-pjg.ln1@anubis.morrow.me.uk>
Quoth Tuxedo <tuxedo@mailinator.com>:
> This may be a vague question but which perl network tools or procedures are
> good to determine if a hostname or IP exist and that is suitable for a cgi
> request that allows user-input of any URL string?
The core gethostbyname function will tell you if a given name has an
address in the DNS. The Net::DNS module will let you make more specific
queries if you need to.
Determining if an IP exists is harder, since you can't in general assume
any given IP will respond to any particular protocol. Net::Ping would be
a start, but a lot of sites block external pings (even though they
shouldn't).
> An HTTP status code may return any response, such as 200, 404 or something
> else. Whatever the response may be, as long as there is an actual response,
> DNS record or server existing, a subroutine should return true. If however
> the hostname or IP is non-existing, or if the user input has a wrong
> syntax, the perl code should return false.
Oh, you didn't say 'HTTP'. If you want to check an HTTP server exists,
you can either just open a connection to port 80 with IO::Socket::INET
(and close it again without sending a response), or send a HEAD request
with LWP::Simple.
You should be aware that some sites may consider this sort of behaviour
to be port-scanning, and may take action to prevent you from doing it.
In particular, you should be very careful not to probe any particular
server too often, as that would almost certainly be considered abuse.
Ben
------------------------------
Date: Sat, 10 Nov 2012 20:32:29 +0100
From: Tuxedo <tuxedo@mailinator.com>
Subject: Re: Server response validation?
Message-Id: <k7ma4e$tlg$1@news.albasani.net>
Ben Morrow wrote:
>
> Quoth Tuxedo <tuxedo@mailinator.com>:
> > This may be a vague question but which perl network tools or procedures
> > are good to determine if a hostname or IP exist and that is suitable for
> > a cgi request that allows user-input of any URL string?
>
> The core gethostbyname function will tell you if a given name has an
> address in the DNS. The Net::DNS module will let you make more specific
> queries if you need to.
Thanks for the advise, most helpful!
I'm not sure what I need yet but before making DNS requests I think would
be a good idea to validate the URL input.
I read that gethostbyname is not IPv6 compatible which may run into trouble:
http://stackoverflow.com/questions/11325457/perl-gethostbyname-when-given-ip
The Net::DNS tools look interesting and in combination with Net::LibIDN it
appears to support IDNs.
I'm not quite sure how to validate a URI and I guess there is no simple way
to do so by existing core modules.
To cover a growing number of IDNs, IDNsNet-IDN-Encode-2.003 seem to be a
good tool in converting IDNs to their ASCII representations:
http://search.cpan.org/~cfaerber/Net-IDN-Encode-2.003/lib/Net/IDN/Encode.pm
I will test Data::Validate::URI first, which require various non-core
modules, namely Data::Validate::IP, Net::Domain::TLD as well as
Net::Netmask.
> Determining if an IP exists is harder, since you can't in general assume
> any given IP will respond to any particular protocol. Net::Ping would be
> a start, but a lot of sites block external pings (even though they
> shouldn't).
>
> > An HTTP status code may return any response, such as 200, 404 or
> > something else. Whatever the response may be, as long as there is an
> > actual response, DNS record or server existing, a subroutine should
> > return true. If however the hostname or IP is non-existing, or if the
> > user input has a wrong syntax, the perl code should return false.
>
> Oh, you didn't say 'HTTP'. If you want to check an HTTP server exists,
> you can either just open a connection to port 80 with IO::Socket::INET
> (and close it again without sending a response), or send a HEAD request
> with LWP::Simple.
>
> You should be aware that some sites may consider this sort of behaviour
> to be port-scanning, and may take action to prevent you from doing it.
> In particular, you should be very careful not to probe any particular
> server too often, as that would almost certainly be considered abuse.
Thanks for the words of warning.
Tuxedo
>
> Ben
>
------------------------------
Date: Sat, 10 Nov 2012 19:48:38 +0000
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: Server response validation?
Message-Id: <mln2n9-70t.ln1@anubis.morrow.me.uk>
Quoth Tuxedo <tuxedo@mailinator.com>:
> Ben Morrow wrote:
> >
> > Quoth Tuxedo <tuxedo@mailinator.com>:
> > > This may be a vague question but which perl network tools or procedures
> > > are good to determine if a hostname or IP exist and that is suitable for
> > > a cgi request that allows user-input of any URL string?
> >
> > The core gethostbyname function will tell you if a given name has an
> > address in the DNS. The Net::DNS module will let you make more specific
> > queries if you need to.
>
> I'm not sure what I need yet but before making DNS requests I think would
> be a good idea to validate the URL input.
>
> I read that gethostbyname is not IPv6 compatible which may run into
> trouble:
> http://stackoverflow.com/questions/11325457/perl-gethostbyname-when-given-ip
Socket6.pm will give you the getaddrinfo function for making v4/v6
hostname lookups.
> The Net::DNS tools look interesting and in combination with Net::LibIDN it
> appears to support IDNs.
>
> I'm not quite sure how to validate a URI and I guess there is no simple way
> to do so by existing core modules.
Well, URI.pm will do basic syntactic validation, which is a start, or
you could use Regexp::Common, which has patterns for validating URIs.
> To cover a growing number of IDNs, IDNsNet-IDN-Encode-2.003 seem to be a
> good tool in converting IDNs to their ASCII representations:
> http://search.cpan.org/~cfaerber/Net-IDN-Encode-2.003/lib/Net/IDN/Encode.pm
>
> I will test Data::Validate::URI first, which require various non-core
> modules, namely Data::Validate::IP, Net::Domain::TLD as well as
> Net::Netmask.
Hah! You seem to be solving this on your own... good. I didn't know
about that. Note that it doesn't appear to do any network tests, so a
URI like http://example.com/foo/bar will pass.
Ben
------------------------------
Date: Sat, 10 Nov 2012 21:36:52 +0100
From: Tuxedo <tuxedo@mailinator.com>
Subject: Re: Server response validation?
Message-Id: <k7mdt7$6fm$1@news.albasani.net>
Ben Morrow wrote:
[...]
> Socket6.pm will give you the getaddrinfo function for making v4/v6
> hostname lookups.
[...]
> Well, URI.pm will do basic syntactic validation, which is a start, or
> you could use Regexp::Common, which has patterns for validating URIs.
[...]
> Hah! You seem to be solving this on your own... good. I didn't know
> about that. Note that it doesn't appear to do any network tests, so a
> URI like http://example.com/foo/bar will pass.
Yes, I read that in the docs. My first step will be to validate a URI
format and not that it actually exists through a network request. The URI
may be standard domain, a new style IDN representation or even an IP. The
network request comes after. So thanks for Socket6.pm, URI.pm and
Regexp::Common. I will test all!
Tuxedo
------------------------------
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 3816
***************************************