[25173] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 7422 Volume: 10

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Nov 19 00:06:00 2004

Date: Thu, 18 Nov 2004 21:05: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           Thu, 18 Nov 2004     Volume: 10 Number: 7422

Today's topics:
    Re: authenticate a password (webmin) <see@sig.invalid>
        Can PERL open a Windows handle? <pauls@nospam.com>
    Re: Complex datastructure documentation? <postmaster@castleamber.com>
    Re: Complex datastructure documentation? <uri@stemsystems.com>
    Re: Complex datastructure documentation? <dkoleary@olearycomputers.com>
    Re: Complex datastructure documentation? <postmaster@castleamber.com>
    Re: Complex datastructure documentation? <dkoleary@olearycomputers.com>
    Re: Complex datastructure documentation? <spamtrap@dot-app.org>
    Re: Complex datastructure documentation? <uri@stemsystems.com>
    Re: die and write to log file <and11@rol.ru>
        FAQ 7.20: How do I redefine a builtin function, operato <comdog@panix.com>
    Re: First Perl Program <someone@example.com>
    Re: Help! Complex Pattern Extraction with Key/Value Pai (aekalman)
    Re: Not Initializing Variables Correctly? <see@sig.invalid>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Thu, 18 Nov 2004 22:20:09 -0500
From: Bob Walton <see@sig.invalid>
Subject: Re: authenticate a password (webmin)
Message-Id: <419d6405_4@127.0.0.1>

Jack wrote:

 ...
> After have looked into the login code in webmin, I don't understand its 
> password authentication in the session_login.cgi file.
> 
> The session_login.cgi file written with the following codes:
> 
> print "$text{'session_prefix'}\n";
> print "<form action=$gconfig{'webprefix'}/session_login.cgi
> method=post>\n";
>                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
> print "<input type=hidden name=page 
> value='".&html_escape($in{'page'})."'>\n";
> print "<table border width=40%>\n";
> print "<tr $tb> <td><b>$text{'session_header'}</b></td> </tr>\n";
> print "<tr $cb> <td align=center><table cellpadding=3>\n";
> if ($gconfig{'realname'}) {
>         $host = &get_system_hostname();
>         }
> else {
>         $host = $ENV{'HTTP_HOST'};
>         $host =~ s/:\d+//g;
>         $host = &html_escape($host);
>         }
> print "<tr> <td colspan=2 align=center>",
>       &text($gconfig{'nohostname'} ? 'session_mesg2' :
>             $gconfig{'usermin'} ? 'session_mesg3' : 'session_mesg',
>             "<tt>$host</tt>"),"</td> </tr>\n";
> print "<tr> <td><b>$text{'session_user'}</b></td>\n";
> print "<td><input name=user size=20 
> value='".&html_escape($in{'failed'})."'></td> </tr>\n";
> print "<tr> <td><b>$text{'session_pass'}</b></td>\n";
> print "<td><input name=pass size=20 type=password></td> </tr>\n";
>                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> print "<tr> <td colspan=2 align=center><input type=submit 
> value='$text{'session_login'}'>\n";
> 
> ================ end of attachement =================
> 
> The password is submitted to the session_login.cgi file, but there is no 
> perl code in the session_login.cgi file validate the password.
Is the code you show above from the session_login.cgi file?  If so, it 
is clearly only part of the code.  Look for calls to the param() 
function in the rest of it.  If the above code is not from 
session_login.cgi, then you're not looking at the right code -- the CGI 
file above generates HTML which, when a submit button is pressed, will 
cause session_login.cgi to be run.  Of course, session_login.cgi *could* 
generate code which invokes itself -- that is commonly done.
> 
> Does anyone know how does session_login.cgi in webmin validate the 
> password?
Never heard of webmin.  What is it?  Maybe the author could clarify?
> 
> I need to change the login module in webmin so that it has an option 
> allow to enter Cyrus user name and password as well when creating new 
> user. When this admin user login, it also login Cyrus admin server and 
> somehow pass the reference of cyrus to another cyrus module, from there, 
> the admin user can also manage email user accounts as well.
Make an attempt, and if you have trouble, post a short but complete 
example that anyone can copy/paste/execute which demonstrates the 
problem you are having.  Please be very explicit about the problem -- 
don't say "it doesn't work" or "it generates an error".  Say precisely 
what it actually did, what you expected it to do, and provide the 
complete verbatim text of any error messages.  And ask Perl questions in 
this newsgroup -- it is unlikey anyone where will know anything about 
some application someone wrote in Perl -- you should seek that sort of 
help from the author or from a newsgroup that deals with that particular 
application.
 ...
> Sam
-- 
Bob Walton
Email: http://bwalton.com/cgi-bin/emailbob.pl


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

Date: Thu, 18 Nov 2004 20:55:57 -0800
From: "Paul S." <pauls@nospam.com>
Subject: Can PERL open a Windows handle?
Message-Id: <10pqv6tl215ke22@corp.supernews.com>

Hi,
Can PERL open a Windows Handle?
Where would I go to see how to do it?

Thanks!

Paul



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

Date: 18 Nov 2004 23:20:43 GMT
From: John Bokma <postmaster@castleamber.com>
Subject: Re: Complex datastructure documentation?
Message-Id: <Xns95A5B0716E44Ecastleamber@130.133.1.4>

Uri Guttman wrote:

>>>>>> "JB" == John Bokma <postmaster@castleamber.com> writes:
> 
>   JB> ${${${${$hash}{Host}}{$host}}[1]}{$sid}  = [ @dls, %lvs ]
> 
>   JB> means, and I try to come up with an OO design. Maybe others can
>   chip in JB> a bit too. 
> 
>   JB> And my other remark, regarding documentation is certainly valid.
>   I just JB> finished a small OO thingy, which took more time on paper
>   than to JB> actually implement :-) 
> 
> i agree with your comments on the coding style but OO has absolutely
> nothing to do with this. you could do OO stuff with the same clumsy
> syntax he uses and it won't help.

Of course you can :-) But with OO you can at least it a bit more readable.

I don't even know to what the above translates:

$hash->{Host}{$host}[1]{$sid} ?

Also the [ @dls, %lvs ] is very scary, even if @dls always has the same 
number of items.


-- 
John                   Small Perl scripts: http://johnbokma.com/perl/
               Perl programmer available:     http://castleamber.com/
            Happy Customers: http://castleamber.com/testimonials.html
                        


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

Date: Thu, 18 Nov 2004 23:28:20 GMT
From: Uri Guttman <uri@stemsystems.com>
Subject: Re: Complex datastructure documentation?
Message-Id: <x7hdnmbuuk.fsf@mail.sysarch.com>

>>>>> "JB" == John Bokma <postmaster@castleamber.com> writes:

  JB> Uri Guttman wrote:

  >> i agree with your comments on the coding style but OO has absolutely
  >> nothing to do with this. you could do OO stuff with the same clumsy
  >> syntax he uses and it won't help.

  JB> Of course you can :-) But with OO you can at least it a bit more
  JB> readable.

OO has NOTHING to do with coding but rather with architecture, design
and APIs. if you keep conflating coding with OO then you will never
master either. you can do OO in horrible coding style and also code elegant
procedural stuff. the OP's code for data structures uses a poorly chosen
syntax. you can use the same syntax in OO and it won't help one iota
with clarity as the code itself is poor.

  JB> I don't even know to what the above translates:

  JB> $hash->{Host}{$host}[1]{$sid} ?

translates?

uri

-- 
Uri Guttman  ------  uri@stemsystems.com  -------- http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs  ----------------------------  http://jobs.perl.org


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

Date: Fri, 19 Nov 2004 00:00:02 GMT
From: Doug O'Leary <dkoleary@olearycomputers.com>
Subject: Re: Complex datastructure documentation?
Message-Id: <slrncpqdrj.dh3.dkoleary@x1-6-00-b0-d0-c1-44-09.comcast.net>

On 2004-11-18, Uri Guttman <uri@stemsystems.com> wrote:
>
>
> so do they do code review for you? i do it professionally and teach perl
> and refactor it. no one uses that style of data structure code in any
> depth.

More often than not, nobody does the code review.  I'll get a requirement
to "write a script that scans up 1800 routers every 5 minutes 
using SNMP.  We need to be able to modify the alerting threshholds
and alerting activity for each threshhold."  

This time, however, my client contact is another UNIX admin who knows
perl.  Fortunately for me, he's perfectly comfortable with this 
syntax.  

> so what if it works? it is not maintainable by anyone but you. sure some
> could hack it but it is harder to work with than it needs to be.

The harder to work with may be true - that's why I'm willing to give the
other syntax a shot.

> fine. i can do that too. big deal. it is still not the best way to do
> it.
>  DO> #  printf ("\t%-8s  %-7s %-4s %d\n",
>  DO> #     ${${${$hash}{'Datalist'}}{$dl}}{'Host'},
> 	    $hash->{'Datalist'}{$dl}{'Host'}
>
> if you don't think the latter is clearer and easier to read, you must
> have braces tattooed on your eyelids. it is shorter too.

Shorter is definitely better.  It is easier to read.  As mentioned,
I'll give it a try.

> dunno?? what about dumper wouldn't do? it dumps perl data structures. it
> does it accurately. it is flexible. it is easy to use. its output can be
> postprocessed easily. it can be eval'ed back into perl later.

That's the part that I don't know!  I've never used/seen data dumper.  It
sounds great... I'll take a look!

Doug


-- 
--------
Senior UNIX Admin
O'Leary Computer Enterprises
dkoleary@olearycomputers.com (w) 630-904-6098 (c) 630-248-2749
resume:  http://home.comcast.net/~dkoleary/resume.html



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

Date: 19 Nov 2004 00:08:25 GMT
From: John Bokma <postmaster@castleamber.com>
Subject: Re: Complex datastructure documentation?
Message-Id: <Xns95A5B884D801castleamber@130.133.1.4>

Uri Guttman wrote:

>>>>>> "JB" == John Bokma <postmaster@castleamber.com> writes:
> 
>   JB> Uri Guttman wrote:
> 
>  >> i agree with your comments on the coding style but OO has
>  >> absolutely nothing to do with this. you could do OO stuff with the
>  >> same clumsy syntax he uses and it won't help.
> 
>   JB> Of course you can :-) But with OO you can at least it a bit more
>   JB> readable.
> 
> OO has NOTHING to do with coding but rather with architecture, design
> and APIs.

OO can improve the readability (and hence make it more understandable) 
and improve maintainability of your code. PERIOD. It has a lot to do 
with coding.

> if you keep conflating coding with OO then you will never
> master either.

Ok :-)

> you can do OO in horrible coding style and also code
> elegant procedural stuff.

Yes, we all can code horrible.

> the OP's code for data structures uses a
> poorly chosen syntax. you can use the same syntax in OO and it won't
> help one iota with clarity as the code itself is poor.
> 
>   JB> I don't even know to what the above translates:
> 
>   JB> $hash->{Host}{$host}[1]{$sid} ?
> 
> translates?

To readable Perl. Note that I am not a native English speaker, so the 
choice of my words might be wrong.

-- 
John                   Small Perl scripts: http://johnbokma.com/perl/
               Perl programmer available:     http://castleamber.com/
            Happy Customers: http://castleamber.com/testimonials.html
                        


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

Date: Fri, 19 Nov 2004 01:39:46 GMT
From: Doug O'Leary <dkoleary@olearycomputers.com>
Subject: Re: Complex datastructure documentation?
Message-Id: <slrncpqjf9.e7u.dkoleary@x1-6-00-b0-d0-c1-44-09.comcast.net>

Hey;

I sent John Bokma a sincere apology and an incredibly long 
winded data description.  Unfortunately, due to a stuck shift
key, (f vs F), it went to him via email instead of getting
posted here.

If, John, you would be so kind as to post my reply to you,
I'd appreciate it.  It took me a long time to generate that
I'd hate to have to redo it.

The short version of the apology:  I misinterpreted his post.  
I was wrong for reacting so strongly.  I apologize to the 
group in general and John in particular.

Doug

-- 
--------
Senior UNIX Admin
O'Leary Computer Enterprises
dkoleary@olearycomputers.com (w) 630-904-6098 (c) 630-248-2749
resume:  http://home.comcast.net/~dkoleary/resume.html



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

Date: Thu, 18 Nov 2004 20:49:24 -0500
From: Sherm Pendley <spamtrap@dot-app.org>
Subject: Re: Complex datastructure documentation?
Message-Id: <JMednVdVepmczADcRVn-tQ@adelphia.com>

John Bokma wrote:

> OO can improve the readability (and hence make it more understandable) 
> and improve maintainability of your code. PERIOD. It has a lot to do 
> with coding.

No, Uri's right. OO is about the high-level design and architecture of 
an app. It's a way of thinking about objects and the relationships 
between them. Coding is just syntax.

In terms of the high-level OO concepts involved, a method call is a 
method call, regardless of the syntax used to code it:

$obj->do_something($foo);

or

do_something($obj, $foo);

Sure, it's *nice* to be working in a language that provides a bit of 
"syntax sugar" to make OO constructs a bit easier to read. But, it's not 
at all a requirement - you could use an object-oriented approach in a 
"procedural" language like C or assembler, if you want to.

sherm--

-- 
Cocoa programming in Perl: http://camelbones.sourceforge.net
Hire me! My resume: http://www.dot-app.org


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

Date: Fri, 19 Nov 2004 03:43:02 GMT
From: Uri Guttman <uri@stemsystems.com>
Subject: Re: Complex datastructure documentation?
Message-Id: <x7actea4hl.fsf@mail.sysarch.com>

>>>>> "JB" == John Bokma <postmaster@castleamber.com> writes:

  >> OO has NOTHING to do with coding but rather with architecture, design
  >> and APIs.

  JB> OO can improve the readability (and hence make it more understandable) 
  JB> and improve maintainability of your code. PERIOD. It has a lot to do 
  JB> with coding.

then you don't understand OO. OO is about architecture and API and that
is not coding. coding is how you implement a method/sub and not about
the calling api. they are totally separate things and that is easily
proved. just think about how you can have a lousy api and beautifil code
that implements it and also a great API and crap code implementing
it. OO is NOT coding. you can say it if you wish but you are wrong. OO
is an architectural paradigm and involves partitioning a problem space
into component data and associated methods. nowhere does it encompass
any coding styles. another proof point is that you can design an OO
solution and then implement it in many different languages. ever do OO
in assembler or C? i have (just no inheritance which is overused and
abused IMNSHO).

  >> if you keep conflating coding with OO then you will never

  >> 
  JB> I don't even know to what the above translates:
  >> 
  JB> $hash->{Host}{$host}[1]{$sid} ?
  >> 
  >> translates?

  JB> To readable Perl. Note that I am not a native English speaker, so the 
  JB> choice of my words might be wrong.

that line of perl is fine by my standards. it may be a touch deep and i
would probably use another var to access the lower levels, especially if
there are multiple accesses there. but since we don't have a full
problem spec or more code i won't go there. the issue i was bringing up
was that the deref syntax the OP used was poor and that is not a design
nor an OO issue. syntax is never OO, it is too low level to be discussed
in an OO design.

uri

-- 
Uri Guttman  ------  uri@stemsystems.com  -------- http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs  ----------------------------  http://jobs.perl.org


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

Date: Fri, 19 Nov 2004 02:17:32 +0000
From: Andrew Tkachenko <and11@rol.ru>
Subject: Re: die and write to log file
Message-Id: <cnjamq$q3t$1@news.rol.ru>

Ben Morrow wrote on 18 Ноябрь 2004 17:32:

> Please don't top-post.
> Please indent decently.
> Please wrap your lines at 76 characters.

ok, sorry for this, I'll be more polite in further postings :)

> 
> $SIG{__DIE__} has been broken since it was first introduced, in that it
> is called whenever die is called inside an eval, including for parse
> errors. This means you need to be careful of this:
> 
> {
>     local $SIG{__DIE__} = sub {
>         die $_[0] if $^S or not defined $^S;
>         # whetever else you want
>     };
> }
> 

thanks for remark. I've totally missed this 

> This is, of course, mentioned in perlvar, under $SIG{__DIE__} and $^S.
> 
> Ben
> 

-- 
Andrew


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

Date: Fri, 19 Nov 2004 05:03:01 +0000 (UTC)
From: PerlFAQ Server <comdog@panix.com>
Subject: FAQ 7.20: How do I redefine a builtin function, operator, or method?
Message-Id: <cnjuq5$3dd$1@reader1.panix.com>

This message is one of several periodic postings to comp.lang.perl.misc
intended to make it easier for perl programmers to find answers to
common questions. The core of this message represents an excerpt
from the documentation provided with Perl.

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

7.20: How do I redefine a builtin function, operator, or method?

    Why do you want to do that? :-)

    If you want to override a predefined function, such as open(), then
    you'll have to import the new definition from a different module. See
    "Overriding Built-in Functions" in perlsub. There's also an example in
    "Class::Template" in perltoot.

    If you want to overload a Perl operator, such as "+" or "**", then
    you'll want to use the "use overload" pragma, documented in overload.

    If you're talking about obscuring method calls in parent classes, see
    "Overridden Methods" in perltoot.



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

Documents such as this have been called "Answers to Frequently
Asked Questions" or FAQ for short.  They represent an important
part of the Usenet tradition.  They serve to reduce the volume of
redundant traffic on a news group by providing quality answers to
questions that keep coming up.

If you are some how irritated by seeing these postings you are free
to ignore them or add the sender to your killfile.  If you find
errors or other problems with these postings please send corrections
or comments to the posting email address or to the maintainers as
directed in the perlfaq manual page.

Note that the FAQ text posted by this server may have been modified
from that distributed in the stable Perl release.  It may have been
edited to reflect the additions, changes and corrections provided
by respondents, reviewers, and critics to previous postings of
these FAQ. Complete text of these FAQ are available on request.

The perlfaq manual page contains the following copyright notice.

  AUTHOR AND COPYRIGHT

    Copyright (c) 1997-2002 Tom Christiansen and Nathan
    Torkington, and other contributors as noted. All rights 
    reserved.

This posting is provided in the hope that it will be useful but
does not represent a commitment or contract of any kind on the part
of the contributers, authors or their agents.


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

Date: Thu, 18 Nov 2004 23:54:28 GMT
From: "John W. Krahn" <someone@example.com>
Subject: Re: First Perl Program
Message-Id: <UCand.255$y72.45@clgrps12>

J. Gleixner wrote:
> Tore Aursand wrote:
> 
>> On Tue, 16 Nov 2004 13:04:41 -0800, DGP wrote:
>>
>>> #!C:\Perl\bin\perl.exe
>>> # iges2pt.pl
>>> # Extract point locations from IGES file and write to new text file.
>>> use warnings;
> 
> [...]
> 
>>       my @parts = split( ',', $_ );
>>       s/D/E/ for ( @parts );
>>
>>       print OUTF "@parts[1..3]\n";
> 
> 
> Small improvement. Since only [1..3] seems to be all that's needed in 
> the end.
> 
> my @parts = (split( ',', $_ ))[1..3];
> s/D/E/ for ( @parts );
> print OUTF "@parts\n";

Oh come on, you can do better.  :-)

s/D/E/ for my @parts = ( split /,/ )[ 1 .. 3 ];
print OUTF "@parts\n";


John
-- 
use Perl;
program
fulfillment


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

Date: 18 Nov 2004 16:05:47 -0800
From: aek@netcom.com (aekalman)
Subject: Re: Help! Complex Pattern Extraction with Key/Value Pairs and Reg Exp?
Message-Id: <e047c470.0411181605.4c5b1d92@posting.google.com>

Arndt Jonasson <do-not-use@invalid.net> wrote in message news:<yzdekirbjcl.fsf@invalid.net>...
> There is no group dedicated to regular expressions. There are many
> versions of regular expressions, and the ones in Perl are among the
> most powerful. A Perl answer may not work at all in 'sh', 'sed',
> 'grep' or 'make'. I think that asking a regular expression question
> here in the hope of finding that Perl is the right tool wouldn't be
> wrong, if you make it clear that that is the purpose of your
> question.

In this particular case I'm running in Cygwin's bash shell on Win32
machines.

While I've got other utilities implemented as Perl scripts, this one
is an odd beast, as it's primarily withing GNU make but uses the
shell's expr to do some regex processing outside of make.

I posted to this group mainly because of my perceived tight linkage
between Perl and regexp, thinking that my problem was mainly one of
not understanding regexp well enough, and someone with more epxerience
could enlighten me. Since my original posting, I've discovered that
the shell's expr automatically prepends the '^' character to my
pattern (aaaaaah!), and that's the root cause of my problem. So it's
not a regexp problem, but rather, a shell problem. No obvious
workaround (to me, at least).

Oh, why can't tools be easier to use? :(

Thanks for all the replies ...

--Andrew Kalman
aek at pumpkininc dot com


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

Date: Thu, 18 Nov 2004 21:19:36 -0500
From: Bob Walton <see@sig.invalid>
Subject: Re: Not Initializing Variables Correctly?
Message-Id: <419d55d1$1_5@127.0.0.1>

Buck Turgidson wrote:

 ...
> However, I receive a long series of the following error message, but the
> problem is it is not consistent as to where it begins and ends (i.e. which
> cell in the Excel spreadsheet).  This leads me to believe I am overstepping
> some memory, or not using variables correctly.  I do not think there is
> anything wrong with the spreadsheet.
> 
> I would be grateful if someone could tell me the error of my ways.  I don't
> even expect politeness.
> 
>  "Use of uninitialized value in printf at h:\dev\perl\readbudget.pl line 29"

That's a warning, not an error message.  If you want to find out more 
about error messages or warnings your program generates, add the line:

    use diagnostics;

near the start of your program.  That will generate a nice explanatory 
paragraph that will tell you quite a bit about it.

I ran your program verbatim (except for the spreadsheet file name) with 
a made-up spreadsheet, and didn't get any uninitialized warnings unless 
I deleted the contents of cells in the middle of the spreadsheet.  Then 
it gave the above warning.  That seems like reasonable behavior:  if the 
cell has no value, it generates undef in Perl.  The subsequent use of 
the variable with an undef value generates the warning.

Assuming that you don't care about the undef value that results, you can 
avoid the warnings by enclosing the printf statement in a block along 
with "no warnings qw(uninitialized);" as in:

    {
       no warnings qw(uninitialized);
       printf "%d,%d,...
    }

That will suppress that warning, but only in the printf statement.  This 
is OK since you know the cause of the warning and are aware of the 
reason you are suppressing it (that's what the "no warnings" is there 
for).  You should:

    use warnings;

instead of using the -w switch, but the "no warnings" seems to work 
anyway.  And, of course you should

    use strict;

and clean up the statements where that generates errors currently.

Just in case:  Note that ancient versions of Perl don't have "use 
warnings" and "no warnings".  But they don't give warnings on the use of 
uninitialized variables, either.  And, of course, the "uninitialized" 
bit isn't really necessarily true -- it is possible to initialize a 
variable to undef, which will generate this warning anyway -- which is 
what happens with empty cells in Win32::OLE's interface to Excel.  I 
personally find the uninitialized warning to be more of a pain than it 
is worth, even though on occassion it does nicely point out problems.
 ...
-- 
Bob Walton
Email: http://bwalton.com/cgi-bin/emailbob.pl


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

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 V10 Issue 7422
***************************************


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