[30907] in Perl-Users-Digest
Perl-Users Digest, Issue: 2152 Volume: 11
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Jan 23 21:09:48 2009
Date: Fri, 23 Jan 2009 18: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 Fri, 23 Jan 2009 Volume: 11 Number: 2152
Today's topics:
Re: [DGBI] Congrats, our prize goes to Sinan <yankeeinexile@gmail.com>
Re: CGI.pm and Use of uninitialized value in pattern ma <hjp-usenet2@hjp.at>
Re: Function like print with optional filehandle? <Steve.Roscio@hp.com>
how to use "while" with <<EOF? jidanni@jidanni.org
Re: how to use "while" with <<EOF? <darkon.tdo@gmail.com>
Re: inputting the ephemerides <hjp-usenet2@hjp.at>
Re: inputting the ephemerides <hjp-usenet2@hjp.at>
Re: inputting the ephemerides <larry@example.invalid>
Need module to test CGI uploads <socyl@987jk.com.invalid>
Re: Need module to test CGI uploads <Steve.Roscio@hp.com>
OCaml, Language syntax, and Proof Systems <xahlee@gmail.com>
Re: OCaml, Language syntax, and Proof Systems <xahlee@gmail.com>
Re: OCaml, Language syntax, and Proof Systems <jon@ffconsultancy.com>
Regex for <option> ... </option> <john1949@yahoo.com>
Re: Regex for <option> ... </option> <Steve.Roscio@hp.com>
Re: Regex for <option> ... </option> <jimsgibson@gmail.com>
Re: What do you need to have to be considered a Master <1usa@llenroc.ude.invalid>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: 23 Jan 2009 10:12:52 -0600
From: Lawrence Statton <yankeeinexile@gmail.com>
Subject: Re: [DGBI] Congrats, our prize goes to Sinan
Message-Id: <87priegfwb.fsf@hummer.cluon.com>
Tad J McClellan <tadmc@seesig.invalid> writes:
>
> "undef() is ungood"?
Doubleplus ungood, even.
-L
------------------------------
Date: Fri, 23 Jan 2009 17:12:54 +0100
From: "Peter J. Holzer" <hjp-usenet2@hjp.at>
Subject: Re: CGI.pm and Use of uninitialized value in pattern match
Message-Id: <slrngnjr48.7j4.hjp-usenet2@hrunkner.hjp.at>
On 2009-01-22 20:47, Hans Mulder <hansmu@xs4all.nl> wrote:
> Peter J. Holzer wrote:
>> On 2009-01-21 15:33, A. Farber <Alexander.Farber@gmail.com> wrote:
>>> I wish there were some clever module
>>> for better-to-memorize passwords though.
>>> Maybe by alternate vowels and consonants?
>>
>> Not a perl module, but might help: The "pwgen" utility present in some
>> Linux distributions.
>
> The pwgen utility on my Linux box does not have an option to
> alternate vowels and consonants.
NAME
pwgen - generate pronounceable passwords
It does this by default (well, actually it uses a somewhat more
sophisticated algorithm). It does have an option to turn it off:
-s, --secure
Generate completely random, hard-to-memorize passwords.
This is getting a bit off-topic, though.
hp
------------------------------
Date: Fri, 23 Jan 2009 09:34:53 -0700
From: Steve Roscio <Steve.Roscio@hp.com>
Subject: Re: Function like print with optional filehandle?
Message-Id: <glcrjd$7re$1@usenet01.boi.hp.com>
By the way, I found out how to do this. Look at the Perl6::Say source
module. It's done with indirect object syntax and extending IO::Handle.
FWIW.
- Steve
------------------------------
Date: Sat, 24 Jan 2009 02:34:16 +0800
From: jidanni@jidanni.org
Subject: how to use "while" with <<EOF?
Message-Id: <87k58lx45z.fsf@jidanni.org>
Gentlemen, the perl docs don't anywhere reveal how to use "while" with
<<EOF.
How do you say this right?:
while(<<EOF;){my @F=split; if((pop @F) =~ $ARGV[0]){print "@F\n"; last}
nurds bla.html
...
turds surds mo.html
EOF
Nope, there's just no guessing what's right. Who knows. Mystery.
{my @F=split; if((pop @F) =~ $ARGV[0]){print "@F\n"; last}}while <<'EOF';
while(<<EOF){
a
b
c
EOF
print;
}sorry.
------------------------------
Date: Fri, 23 Jan 2009 12:31:17 -0800 (PST)
From: darkon <darkon.tdo@gmail.com>
Subject: Re: how to use "while" with <<EOF?
Message-Id: <c2f5bb69-9731-498b-89a6-dd0e64a4e661@b1g2000yqg.googlegroups.com>
On Jan 23, 1:34=A0pm, jida...@jidanni.org wrote:
> Gentlemen, the perl docs don't anywhere reveal how to use "while" with
> <<EOF.
>
> How do you say this right?:
> while(<<EOF;){my @F=3Dsplit; if((pop @F) =3D~ $ARGV[0]){print "@F\n"; las=
t}
> nurds bla.html
> ...
> turds surds mo.html
> EOF
You can't do that. while needs a condition, and << is a quote
operator (of sorts).
Even if you can do it, don't. It would be a mean, nasty, father-
raping piece of code and whoever had to maintain it would come after
you with shovels and rakes and other implements of destruction.
If I only had one long piece of data like that, I might put it in a
DATA section at the end of the program. If I had more than one, I
might store them in scalar variables using here-docs, or more likely
store them in separate files and use conventional methods to open and
process them.
------------------------------
Date: Fri, 23 Jan 2009 18:03:40 +0100
From: "Peter J. Holzer" <hjp-usenet2@hjp.at>
Subject: Re: inputting the ephemerides
Message-Id: <slrngnju3c.7j4.hjp-usenet2@hrunkner.hjp.at>
On 2009-01-23 13:44, Tad J McClellan <tadmc@seesig.invalid> wrote:
> It is not a backslash after "h". It is a backslash before a space character.
>
> Since you're using m//x, space characters are normally ignored. If you
> do not want them to be treated normally (ignored) then you must
> escape them.
>
> I personally never use /h\ /.
>
> I would instead use either /h[ ]/ or maybe /h\s/.
Usually I use \s because most of the time I don't care about the exact
whitespace character, but in this case I didn't want to preach matching
"h " exactly and then matching any whitespace. I considered
using \x{20}, but didn't think of [ ]. You are right, that's the most
readable way.
hp
------------------------------
Date: Fri, 23 Jan 2009 18:16:06 +0100
From: "Peter J. Holzer" <hjp-usenet2@hjp.at>
Subject: Re: inputting the ephemerides
Message-Id: <slrngnjuqn.7j4.hjp-usenet2@hrunkner.hjp.at>
On 2009-01-22 23:19, Eric Pozharski <whynot@pozharski.name> wrote:
> On 2009-01-22, Peter J. Holzer <hjp-usenet2@hjp.at> wrote:
>> On 2009-01-22 00:40, Larry Gates <larry@example.invalid> wrote:
> *SKIP*
>>> What I have is *(\d{1,2}\.\d{1})
>>
>> "*" applies to the expression to the left of it. Starting a pattern with
>> it makes no sense. If you think that the pattern to the left of your
>> number is relevant, quote it completely, otherwise omit it.
>
> Who cares if no-one can?
>
> {8772:15} [1:0]$ perl -wle 'qr{*}'
> Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE
> / at -e line 1.
I care. When I answer a posting I want to understand what the problem
is.
> I assume that LG didn't copy-paste. What a surprise...
He did copy-paste (as you would have seen yourself if you had read the rest
of my (or his) posting). He just just copy-pasted one character too
little (or too much), splitting a sub-pattern in half. Which could
either be just a copy-paste error (indicating sloppy editing) or a
failure to understand how regular expressions are constructed.
hp
------------------------------
Date: Fri, 23 Jan 2009 16:13:27 -0700
From: Larry Gates <larry@example.invalid>
Subject: Re: inputting the ephemerides
Message-Id: <q5xka4d2gpm4.1lgpnnoff3e8.dlg@40tude.net>
On Fri, 23 Jan 2009 11:10:59 +0100, Mart van de Wege wrote:
> perldoc -f seek
Works like a charm:
my $filename = 'eph6.txt';
open(my $fh, '<', $filename) or die "cannot open $filename: $!";
while (my $line = <$fh>) {
$line =~ s/[^\s\d]+//g;
print $line;
}
print "\n";
seek($fh,0,0);
while (my $line = <$fh>) {
$line =~ tr/ \n\r\t\f01234.+-56789//dc;
print $line;
}
close($fh);
How does a person know what the appropriate whence value is? Zero seems to
work for me. I really like it when something works right off the bat, and
you don't even know why.
--
larry gates
str->str_pok |= SP_FBM; /* deep magic */
s = (unsigned char*)(str->str_ptr); /* deeper magic */
-- Larry Wall in util.c from the perl source code
------------------------------
Date: Fri, 23 Jan 2009 15:45:46 +0000 (UTC)
From: kj <socyl@987jk.com.invalid>
Subject: Need module to test CGI uploads
Message-Id: <glcon9$1dp$1@reader1.panix.com>
I have a web page featuring an HTML form that includes two mandatory
file-upload fields, a Perl CGI script to receive the submissions
of this form, and a Perl module, let's call it MyCgiHandler, used
by the CGI script, that has the code that actually processes the
inputs "sent by web page" (so to speak). This Perl module relies
on the standard Perl module CGI to access the request.
I would like to write a script to automate the testing of the code
in MyCgiHandler module. In particular, I want to automate the
testing of the code that handles the file uploads.
Therefore, I'm looking for some CPAN module that will help me mimic,
from within the execution of the test script, a POST request
including two file uploads.
Any recommendations would be much appreciated.
TIA!
Kynn
PS: I searched CPAN, but the closest I found to what I'm looking,
namely CGI::Test, doesn't inspire confidence. It doesn't seem to
be maintained (it was released on 2003), and the page for it has
the warning "** UNAUTHORIAZED RELEASE **" prominently displayed in
bold red letters.
--
NOTE: In my address everything before the first period is backwards;
and the last period, and everything after it, should be discarded.
------------------------------
Date: Fri, 23 Jan 2009 09:17:53 -0700
From: Steve Roscio <Steve.Roscio@hp.com>
Subject: Re: Need module to test CGI uploads
Message-Id: <glcqjj$uso$1@usenet01.boi.hp.com>
Hi KJ -
You can use LWP and script the exchange entirely yourself. Or you can
write .wt files (HTTP::WebTest).
Also look into WATIR, it's not Perl (Ruby I think) but it is open source.
- Steve
------------------------------
Date: Fri, 23 Jan 2009 11:19:58 -0800 (PST)
From: Xah Lee <xahlee@gmail.com>
Subject: OCaml, Language syntax, and Proof Systems
Message-Id: <8f6cbe00-247a-4646-b603-8b58faf9b65b@q30g2000prq.googlegroups.com>
recently, as you might have noted by a previous post of mine, that
American Mathematical Society published a series of articles on formal
proofs in 2008 November. See: http://www.ams.org/notices/200811/ The
articles are:
=E2=80=A2 Formal Proof by Thomas Hales
=E2=80=A2 Formal Proof =E2=80=94 The Four-Color Theorem by Georges Gonthie=
r
=E2=80=A2 Formal Proof =E2=80=94 Theory and Practice by John Harrison
=E2=80=A2 Formal Proof =E2=80=94 Getting Started by Freek Wiedijk
I read 3 of them in December (only scanned the four-color theorem
one).
It was quite a fantastically enjoyable reading.
(
For some personal notes, see: Current State Of Theorem Proving Systems
at the bottom of
=E2=80=A2 The Codification of Mathematics
http://xahlee.org/cmaci/notation/math_codify.html
)
As you may know, codification of math has been a long personal
interest. In fact, my logical analytic habit has made me unable to
read most math texts, which are full of logical errors and relies on a
=E2=80=9Chuman=E2=80=9D interpretation for its soundness and clarity.
having read those intro articles from the AMS publication on current
state of the art, i decided that i'm going to learn HOL Light. (tried
to learn Coq before and the tutorial is problematic)
One of the interesting finding was that almost all theorem proving
systems are written in ML family lang, e.g. Caml, Ocaml. Of course, i
heard of Ocaml since about 1998 when i was doing Scheme. Somehow it
never impressed me from reading the functional programing FAQ. I have
always been attracted more to Haskell, perhaps only because it is
_pure_ in the sense of not allowing assignment. With that, ocaml has
been =E2=80=9Cjust another functional lang=E2=80=9D in my mind. But now, se=
eing that
most theorem proving systems used in the real world are in Caml, thus
i made start to learn Ocaml now. (in fact, its root is a theorem
prover)
i wanted to add proofs as enhancement to my A Visual Dictionary Of
Special Plane Curves. Also, had ambition to write more... about
algebraic geometry and differential geometry and geometry with complex
numbers. Proofs will be major part of these type of works. I can no
longer tolerate traditional mouthy written-english proofs. They must
be codified proofs.
In this:
HOL Light Tutorial (for version 2.20)
by John Harrison
September 9, 2006,
there's this paragraph:
=E2=80=9CThis fits naturally with the view, expressed for example by Dijkst=
ra
(1976), that a programming language should be thought of first and
foremost as an algorithm-oriented system of mathematical notation, and
only secondarily as something to be run on a machine.=E2=80=9D
Wee! That has been my view since about 1997. The only lang that adhere
to that view i know of is Mathematica.
(lisping morons don't understand a iota of it. See:
=E2=80=A2 Is Lisp's Objects Concept Necessary?
http://xahlee.org/emacs/lisps_objects.html
=E2=80=A2 The Concepts and Confusions of Prefix, Infix, Postfix and Fully
Nested Notations
http://xahlee.org/UnixResource_dir/writ/notations.html
)
btw, anyone know the source of that Dijkstra quote?
Xah
=E2=88=91 http://xahlee.org/
=E2=98=84
------------------------------
Date: Fri, 23 Jan 2009 15:16:59 -0800 (PST)
From: Xah Lee <xahlee@gmail.com>
Subject: Re: OCaml, Language syntax, and Proof Systems
Message-Id: <cedf57f5-2236-43be-908d-ce2f48cddf83@t26g2000prh.googlegroups.com>
ok, i've been reading these Ocaml tutorials in the past few days:
intro to ocaml, from official site
http://caml.inria.fr/pub/docs/manual-ocaml/manual003.html
=E2=80=9CObjective CAML Tutorial=E2=80=9D, most cited tutorial on the web
http://www.ocaml-tutorial.org/
None of them are perfect, but much better than haskell ones.
The official tutorial is ok, but still confusing.
The one at ocaml-tutorial.org is somewhat but mostly because it's a
lot more explanatory text. It has much verbiage for imperative
programers (i.e. half of the text is about Perl this, C that, Java
thus, trying to each you functional lang by comparative study assuming
you are one of these these idiots. Half of the time, the comparison
doesn't make much sense)
The best one, is the one is
=E2=80=9CIntroduction to Caml=E2=80=9D
http://www.cs.jhu.edu/~scott/pl/lectures/caml-intro.html
by Dr Scott Smith of Johns Hopkins U, apparently a lecture note.
I found it by as one of the top result from google search.
This one is to the point, on lang syntax, what they do and mean, to
the point short examples, focusing one concept at a time. (as opposed
to the typical of: littering of motherfucking abstruse jargons thru-
out, littering gospels about properties of starry-eyed fucking
advantage of static mother fucking typing, the beauties of functional
programing fuck, no concrete examples but full of high-horse abstract
terminologies that are factually from asses who doesn't know a flying
fuck about symbolic logic, replete with computer engineering fuck
typical of compiler geekers like garbage collection, garbage
collection, garbage collection!!!, memory address memory address
memory address, pointers pointers pointers!!! hips and stacks and hips
and stacks and very hip!)
though, it is of course not my ideal, because it still now and then
mention extraneous stupid computer engineering concepts like =E2=80=9CGARBA=
GE
COLLECTION=E2=80=9D, =E2=80=9Cstateful=E2=80=9D, how something is =E2=80=9C=
expression-based=E2=80=9D, etc. If
you are have a computer science background, sure these are no problem.
But if you are a say practical programer who never took computer
science classes, you'll go Huh? and if you are say the world's top
mathematician but never studied programing, you'll go HUH?
But again, this tutorial is far far better than vast majority of
tutorials out there about functional programing (except mine).
The haskell tutorials you can find online are the most mothefucking
stupid unreadable fuck. The Haskll community is almost stupid. What
they talk all day is about monads, currying, linder myer fuck type.
That's what they talk about all day. All day and night. Monad! What's
a monad! The importance of monad! How to learn monad! Simple intro to
monad! Fucking morons, but MONAD!
PS i started a Ocaml learning blog here:
http://xah-ocaml.blogspot.com/
Xah
=E2=88=91 http://xahlee.org/
=E2=98=84
------------------------------
Date: Sat, 24 Jan 2009 00:36:58 +0000
From: Jon Harrop <jon@ffconsultancy.com>
Subject: Re: OCaml, Language syntax, and Proof Systems
Message-Id: <Q-CdnQh7AL4v_OfUnZ2dnUVZ8umdnZ2d@posted.plusnet>
Xah Lee wrote:
> ok, i've been reading these Ocaml tutorials in the past few days:
>
> intro to ocaml, from official site
> http://caml.inria.fr/pub/docs/manual-ocaml/manual003.html
>
> “Objective CAML Tutorial”, most cited tutorial on the web
> http://www.ocaml-tutorial.org/
>
> The best one, is the one is
> “Introduction to Caml”
> http://www.cs.jhu.edu/~scott/pl/lectures/caml-intro.html
> by Dr Scott Smith of Johns Hopkins U, apparently a lecture note.
> I found it by as one of the top result from google search.
You may also appreciate the freely-available first chapter of my book OCaml
for Scientists:
http://www.ffconsultancy.com/products/ocaml_for_scientists/chapter1.html
And the freely-available first chapter of The OCaml Journal:
http://www.ffconsultancy.com/products/ocaml_journal/free/introduction.html
I also recommend Jason Hickey's book which, I believe, is due to be
published by Cambridge University Press soon:
http://www.cs.caltech.edu/courses/cs134/cs134b/book.pdf
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u
------------------------------
Date: Fri, 23 Jan 2009 17:59:19 -0000
From: "John" <john1949@yahoo.com>
Subject: Regex for <option> ... </option>
Message-Id: <gld0hn$8h8$1@news.albasani.net>
Hi
I have a <option ... </option> list where I need to extract the contents.
The following should work.
if ($option_list =~ m|(option[\x00-\xff]+option)|) {$w=$1}; print $w;
But doesn't. Any ideas?
Regards
John
------------------------------
Date: Fri, 23 Jan 2009 11:35:27 -0700
From: Steve Roscio <Steve.Roscio@hp.com>
Subject: Re: Regex for <option> ... </option>
Message-Id: <gld2lh$bv7$1@usenet01.boi.hp.com>
Hi John -
It works for me, Perl 5.10.0, if you want to include the beginning
"option>" and the closing "</option" partial parts. But I don't think
that's exactly what you want. You might find this kind of regex more
suited:
<TAG\b[^>]*>(.*?)</TAG>
The above won't handle nested tags. If you expect that what you're
matching will split across lines (as it probably will), include the 's'
modifier.
$string =~ m|<option\b[^>]*>(.*?)</option>|si
And as always, there's more than one way to do it.
- Steve
------------------------------
Date: Fri, 23 Jan 2009 13:30:48 -0800
From: Jim Gibson <jimsgibson@gmail.com>
Subject: Re: Regex for <option> ... </option>
Message-Id: <230120091330486066%jimsgibson@gmail.com>
In article <gld0hn$8h8$1@news.albasani.net>, John <john1949@yahoo.com>
wrote:
> Hi
>
> I have a <option ... </option> list where I need to extract the contents.
>
> The following should work.
>
> if ($option_list =~ m|(option[\x00-\xff]+option)|) {$w=$1}; print $w;
>
> But doesn't. Any ideas?
It works for me. Perhaps you have some characters in your string that
do not fall in the range \x00-\xff. Try '.+?' instead.
If you are serious about parsing HTML, you shouldn't be using regular
expressions. There are simply too many variations and special cases
possible. You should be using a real parser, such as HTML::Parser,
instead.
--
Jim Gibson
------------------------------
Date: Fri, 23 Jan 2009 15:13:38 GMT
From: "A. Sinan Unur" <1usa@llenroc.ude.invalid>
Subject: Re: What do you need to have to be considered a Master at Perl?
Message-Id: <Xns9B9C6808BB470asu1cornelledu@127.0.0.1>
"Peter J. Holzer" <hjp-usenet2@hjp.at> wrote in
news:slrngnin6l.s0o.hjp-usenet2@hrunkner.hjp.at:
> On 2009-01-21 18:05, Charlton Wilbur <cwilbur@chromatico.net> wrote:
>>>>>>> "PJH" == Peter J Holzer <hjp-usenet2@hjp.at> writes:
>> PJH> On 2009-01-20 22:13, Tad J McClellan <tadmc@seesig.invalid>
>> wrote:
>> >> Charlton Wilbur <cwilbur@chromatico.net> wrote:
>> >>> One of my favorites:
>> >>>
>> >>> You have a string that comes from a freeform text field where
>> >>> the user is expected to enter a telephone number.
>> >>
>> >> I sure hope that is restricted to "a US phone number"...
>>
>> PJH> And I hope it isn't. Local conventions for phone numbers,
...
>> Of course - but if we tried to get a candidate to write code to
>> validate *any* phone number worldwide, it would take unreasonably
>> long for an interview. And we'd need to have a considerably more
>> extensive spec.
>
> I don't think so. There are so many conventions that the spec probably
> boils down to "optional (or maybe mandatory) '+', then a string of
> numbers interspersed with a small set ([- /.()], any more?) of
> reasonable punctuation characters (oh, and if there are parentheses,
> they must match)".
>> The question is useful because it's slightly open-ended, especially
>> phrased that way.
...
>> But it's an interview question aimed at assessing the candidate's
>> fluency with regular expressions. Because of that, it helps to keep
>> it in a domain that people are familiar with, both in terms of valid
>> input (you can reasonably have both 7-digit and 10/11-digit US phone
>> numbers) and in terms of what fool things people are likely to do (do
>> they write the phone number 1 (617) 555-1212? 617.555.1212?
>> 1-617-555-1212? is 16-17-5551-212 correct?)
>
> But you didn't specify this problem domain. You just ask for "a
> telephone number". In my opinion, a candidate who assumed (without
> asking for clarification) that you meant "a US telephone number"
> should lose points for that assumption, and not "pass with flying
> colors".
IMHO, phone numbers should be solicited in three parts:
Country Code: ___
Area Code: ___
Number: ___
because each is subject to different validation mechanisms. To validate
a country code, you need a list of valid country codes (which may change
over time but by now are probably relatively stable).
The number of digits in an area code can depend on the country. So, you
need a set of rules that depend on the country code.
Similarly, the number of digits in a telephone number can depend both on
the country code and the area code. For example, not too long ago, area
codes in Turkey could be anywhere between 2-5 digits and phone numbers
could be 4-6 digits. Now that we have standardized on 3 digit area codes
and 7 digit phone numbers, the universe makes sense again. However,
there are still numbers that don't take area codes such as 444 0 489.
Clever(!) tricks such as trying to see if the phone number goes with the
address are useless. In the U.S., many don't bother to change cell
numbers when they move. In Turkey, cell area codes have their own domain
and are not directly related to the subscriber's address.
If one is given a generic string which may be a phone number, one's
options are limited. Sure one can split on inter-digit space and
punctuation, see if the first cluster can definitely be identified as a
country code by checking if it starts with a + sign etc etc.
But, if I were asked the question to check a phone number without any
further specification, I would state the issues above and go ahead and
write code to remove non-digits (only using [0-9] as digit characters)
and see if the resulting string is between, say, 6 - 17 digits long.
That should cover most variations.
IMHO, the interview question can be made better by splitting it into two
parts: 1) To see if the candidate has any understanding of localization
issues, ask the candidate about the types of phone number inputs one
might encounter when processing data for a company doing business
internationally and 2) To check the candidate's understanding of regular
expressions, give him a specification and ask him to write a pattern or
patterns to validate against that.
Sinan
--
A. Sinan Unur <1usa@llenroc.ude.invalid>
(remove .invalid and reverse each component for email address)
comp.lang.perl.misc guidelines on the WWW:
http://www.rehabitation.com/clpmisc/
------------------------------
Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>
Administrivia:
#The Perl-Users Digest is a retransmission of the USENET newsgroup
#comp.lang.perl.misc. For subscription or unsubscription requests, send
#the single line:
#
# subscribe perl-users
#or:
# unsubscribe perl-users
#
#to almanac@ruby.oce.orst.edu.
NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
#To request back copies (available for a week or so), send your request
#to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
#where x is the volume number and y is the issue number.
#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V11 Issue 2152
***************************************