[17824] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 5244 Volume: 9

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Thu Jan 4 21:38:22 2001

Date: Thu, 4 Jan 2001 18:38:08 -0800 (PST)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Message-Id: <978662287-v9-i5244@ruby.oce.orst.edu>
Content-Type: text

Perl-Users Digest           Thu, 4 Jan 2001     Volume: 9 Number: 5244

Today's topics:
        Quote "machine" <enigmabomb@home.spammers.must.die.a.horrible.death.com>
    Re: Quote "machine" <time4tea@monmouth.com>
    Re: Quote "machine" <johngros@Spam.bigpond.net.au>
    Re: Quote "machine" (Garry Williams)
    Re: Quote "machine" <uri@sysarch.com>
    Re: Quote "machine" (Garry Williams)
    Re: Quote "machine" (Martien Verbruggen)
    Re: Quote "machine" <johnlin@chttl.com.tw>
    Re: Quote "machine" (Martien Verbruggen)
    Re: Quote "machine" <time4tea@monmouth.com>
    Re: Quote "machine" <bart.lateur@skynet.be>
    Re: Quote "machine" <mischief@velma.motion.net>
        Reading email from a POP3 server <don@lclcan.com>
    Re: Reading email from a POP3 server (Abigail)
    Re: Reading email from a POP3 server (Garry Williams)
    Re: reading multi-line records <hinson@home.com>
        Digest Administrivia (Last modified: 16 Sep 99) (Perl-Users-Digest Admin)

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

Date: Tue, 02 Jan 2001 03:52:23 GMT
From: "En|gMaBoM" <enigmabomb@home.spammers.must.die.a.horrible.death.com>
Subject: Quote "machine"
Message-Id: <Xfc46.90856$w35.15971394@news1.rdc1.nj.home.com>

Does anyone have any idea why my quote machine isn't working? I have looked
in my book, and looked at the docs, I cant understand why it keeps saying
cant use global in "my" at quotes.pl line bla bla bla, it goes on to list
the lines and variables. Here is what I have:

use strict;
my $number=int(rand 7);
my $3='When people are free to do as they please, they usually imitate each
other. - Eric Hoffer';
my $4='There is much difference between imitating a good man and
counterfeiting him. - Benjamin Franklin';
my $5='Insist on yourself; never imitate. - Ralph Waldo Emerson';
my $6='Do you like card ticks? he asked. No, I answered. He did five. -
Somerset Maugham';
    if ($number==5) {
 print my $5;
        } elsif ($number==4) {
 print my $4;
            } elsif ($number==3) {
 print my $3;
                } elsif ($number==2) {
 print my $2;
                    } elsif ($number==1) {
 print my $1;
                       } else {

}






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

Date: Mon, 1 Jan 2001 23:13:38 -0500
From: "James Richardson" <time4tea@monmouth.com>
Subject: Re: Quote "machine"
Message-Id: <92rkjl$k27$1@slb7.atl.mindspring.net>


"En|gMaBoM" <enigmabomb@home.spammers.must.die.a.horrible.death.com> wrote
in message news:Xfc46.90856$w35.15971394@news1.rdc1.nj.home.com...
> Does anyone have any idea why my quote machine isn't working? I have
looked
> in my book, and looked at the docs, I cant understand why it keeps saying
> cant use global in "my" at quotes.pl line bla bla bla, it goes on to list
> the lines and variables. Here is what I have:
>

OK, heres your problems

> use strict;
> my $number=int(rand 7);
> my $3='When people are free to do as they please, they usually imitate
each
> other. - Eric Hoffer';

Using $(number) as a variable name is going to cause problems, as these are
'special'. I'm not sure that this will cause particular problems here, but
it is a bad idea.

You might want to use an array here.....

> my $4='There is much difference between imitating a good man and
> counterfeiting him. - Benjamin Franklin';
> my $5='Insist on yourself; never imitate. - Ralph Waldo Emerson';
> my $6='Do you like card ticks? he asked. No, I answered. He did five. -
> Somerset Maugham';
>     if ($number==5) {
>  print my $5;

You are defining a new variable $5 here, with a scope of the enclosing
block. The block is the code between the { } characters. The old value of
the variable $5 is no longer visible within this scope, and so you get a new
variable with an undefined value.


>         } elsif ($number==4) {
>  print my $4;
>             } elsif ($number==3) {
>  print my $3;
>                 } elsif ($number==2) {
>  print my $2;
>                     } elsif ($number==1) {
>  print my $1;
>                        } else {
>
> }
>
>
>

Of course you could have written

use strict;

my @quotes = (
    "Quote 0",
    "Quote 1",
    "Quote 2" );

print $quotes[int (rand ( $#quotes ) ) ];


HTH

James




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

Date: Tue, 02 Jan 2001 04:33:58 GMT
From: "John Boy Walton" <johngros@Spam.bigpond.net.au>
Subject: Re: Quote "machine"
Message-Id: <WSc46.41270$xW4.331512@news-server.bigpond.net.au>


"En|gMaBoM" <enigmabomb@home.spammers.must.die.a.horrible.death.com> wrote
in message news:Xfc46.90856$w35.15971394@news1.rdc1.nj.home.com...
> use strict;
> my $number=int(rand 7);
> my $3='When people are free to do as they please, they usually imitate
each
> other. - Eric Hoffer';
$3 is a perl reserved variable. Ditto for the rest.
Give them a new name like $quote3 but best would be to assign the quotes
into an array.
my @quotes = ("'When people are free to do as they please, they usually
imitate each
 other. - Eric Hoffer'" 'There is much difference between imitating a good
man and
 counterfeiting him. - Benjamin Franklin');
e.t.c.
then you can access your quotes with $quotes[$i]
$i would be the index of the quote you want.






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

Date: Tue, 02 Jan 2001 05:04:29 GMT
From: garry@zvolve.com (Garry Williams)
Subject: Re: Quote "machine"
Message-Id: <xjd46.501$Dm5.22591@eagle.america.net>

On Tue, 02 Jan 2001 03:52:23 GMT, En|gMaBoM
<enigmabomb@home.spammers.must.die.a.horrible.death.com> wrote:

>Does anyone have any idea why my quote machine isn't working? I have looked
>in my book, and looked at the docs, I cant understand why it keeps saying
>cant use global in "my" at quotes.pl line bla bla bla, it goes on to list
>the lines and variables. Here is what I have:

Jeesh!  What good would line numbers and variable names be in figuring
this problem out?  

You should check the perldiag manual page and see what it says about
this error message.  That will usually save a post in Usenet.  

>use strict;

 use warnings;
 use diagnostics;

>my $number=int(rand 7);
>my $3='When people are free to do as they please, they usually imitate each

You should check the perlvar manual page to find out about $<digit>.

[snip]

See the perlfaq4 manual page for "How do I select a random element
from an array?"  That might be a little easier than your code.  

 my @quotes = (
        "quote", 
        "...",
        );
 print $quotes[ rand @quotes ];

-- 
Garry Williams


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

Date: Tue, 02 Jan 2001 05:11:39 GMT
From: Uri Guttman <uri@sysarch.com>
Subject: Re: Quote "machine"
Message-Id: <x73df2a67o.fsf@home.sysarch.com>

>>>>> "JR" == James Richardson <time4tea@monmouth.com> writes:


  JR> my @quotes = (
  JR>     "Quote 0",
  JR>     "Quote 1",
  JR>     "Quote 2" );

  JR> print $quotes[int (rand ( $#quotes ) ) ];

that will never get the last quote. in the above example $#quotes is 2
and rand(2) will never return 2, only numbers 0 <= $x < 2.

the correct idiom for a random element of an array is:

	$array[ rand @array ] ;

you don't need the int either as the indexing provides an int context.

pop quiz: name other perl operations (other than int) which provide an
integer context.

uri

-- 
Uri Guttman  ---------  uri@sysarch.com  ----------  http://www.sysarch.com
SYStems ARCHitecture, Software Engineering, Perl, Internet, UNIX Consulting
The Perl Books Page  -----------  http://www.sysarch.com/cgi-bin/perl_books
The Best Search Engine on the Net  ----------  http://www.northernlight.com


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

Date: Tue, 02 Jan 2001 05:31:22 GMT
From: garry@zvolve.com (Garry Williams)
Subject: Re: Quote "machine"
Message-Id: <KId46.502$Dm5.23792@eagle.america.net>

On Tue, 02 Jan 2001 05:11:39 GMT, Uri Guttman <uri@sysarch.com> wrote:
>
>pop quiz: name other perl operations (other than int) which provide an
>integer context.

There's eight (other than subscripting arrays) that I can think of off
the top of my head.  



 x
 %
 %=
 ..
 >>
 >>=
 <<
 <<=

-- 
Garry Williams


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

Date: Tue, 2 Jan 2001 19:22:49 +1100
From: mgjv@tradingpost.com.au (Martien Verbruggen)
Subject: Re: Quote "machine"
Message-Id: <slrn9533up.6lr.mgjv@martien.heliotrope.home>

On Tue, 02 Jan 2001 05:11:39 GMT,
	Uri Guttman <uri@sysarch.com> wrote:
> 
> pop quiz: name other perl operations (other than int) which provide an
> integer context.

Possible spoiler follows



Let's see, the bitwise operators, and their equivalent assignment
operators, in a numerical context only, I think:

|
&
^
<<
>>
~

If the arguments are strings, there is no numerical context. I'm not
sure whether that counts.


Then there are % and %=.


The repitition operator x forces integer context for its right operand.


The .. operator forces integer context, if it's used as a range
operator, and its arguments are numbers.

That's nine, not counting the assignment operators.


Array indexing forces integral context, but I am not sure whether one
would call that an operator.


If you count builtin functions as operators, which is probably not fair,
there are loads of them that will force an integral context on certain
arguments. And since you mentioned int() specifically, i'd like to
mention oct(), which doesn't complain about a decimal point (like hex()
does), but silently ignores it. of course, as far as perl is concerned,
there is not much difference between operators, named operators, and
many builtin functions, especially the ones that take only one argument.
But I won't go there :)

Of course, if 'use integer' is in force, the whole picture changes :)

I'm sure I missed a few.

Martien
-- 
Martien Verbruggen              | 
Interactive Media Division      | This matter is best disposed of from
Commercial Dynamics Pty. Ltd.   | a great height, over water.
NSW, Australia                  | 


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

Date: Tue, 2 Jan 2001 14:28:18 +0800
From: "John Lin" <johnlin@chttl.com.tw>
Subject: Re: Quote "machine"
Message-Id: <92rshn$buk@netnews.hinet.net>

"Garry Williams" wrote
> Uri Guttman wrote:
> >
> >pop quiz: name other perl operations (other than int) which provide an
> >integer context.
>
> There's eight (other than subscripting arrays) that I can think of off
> the top of my head.
>
>  x  %  %=  ..  >>  >>=  <<  <<=

I found it interesting (not intuitive) that

    print ++($a=1.1);        # 2.1
    print for 1.1 .. 5.1;    # 12345

If ++ is borrowed from C/C++, it has a integer context.

If

    print for 1.1 .. 5.1;

is equivelent to

    for($_=1.1;  $_<=5.1;  $_++) { print }

the output should be

    1.12.13.14.15.1

John Lin





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

Date: Tue, 2 Jan 2001 21:47:11 +1100
From: mgjv@tradingpost.com.au (Martien Verbruggen)
Subject: Re: Quote "machine"
Message-Id: <slrn953cdf.6lr.mgjv@martien.heliotrope.home>

On Tue, 2 Jan 2001 14:28:18 +0800,
	John Lin <johnlin@chttl.com.tw> wrote:
> "Garry Williams" wrote
>> Uri Guttman wrote:
>> >
>> >pop quiz: name other perl operations (other than int) which provide an
>> >integer context.
>>
>> There's eight (other than subscripting arrays) that I can think of off
>> the top of my head.
>>
>>  x  %  %=  ..  >>  >>=  <<  <<=
> 
> I found it interesting (not intuitive) that

It certainly isn't intuitive. I suspect that if Larry Wall had another
look at the behaviour of .., ++, -- and operators like that, that he'd
make a different decision about how they'd operate, and how they relate.
However...

> 
>     print ++($a=1.1);        # 2.1
>     print for 1.1 .. 5.1;    # 12345
> 
> If ++ is borrowed from C/C++, it has a integer context.

But it isn't. Try

$ perl -wl
$foo = "a";
$foo++;
print $foo;
$foo = "zz";
$foo++;
print $foo;
__END__


++ in Perl is much more special than it is in other languages.

> If
> 
>     print for 1.1 .. 5.1;
> 
> is equivelent to
> 
>     for($_=1.1;  $_<=5.1;  $_++) { print }

I don't know where you got this equivalence. It certainly isn't
documented that I know of. The documentation doesn't specifically say
that .. enforces integer context, but it does mention that it does more
than just numbers:

$ perl -wle 'print for ("a" .. "zz")'

Again, it isn't documented to force an integral context, but I knew it
did (see my other post). The equivalence you pose, while handy to
remember what it does, doesn't actually hold. None of the examples of
the use of .. in the documentation mention floats.

The documentation does, somewhat obliquely, link the .. operator to the
magic increment operator.

       to get dates with leading zeros.  If the final value spec­
       ified is not in the sequence that the magical increment
       would produce, the sequence goes until the next value
       would be longer than the final value specified.

But it is not entirely clear to me how far one should take that linkage.
It could be read to apply only to magic increment for strings, and not
for floats.

Since the documentation is too vague and uncommiting to make a decision,
and the implementation forces integral context, I suspect we should
assume that that was intended behaviour, however much it would have been
more logical to have the stuff behave in other ways. I suspect that ..
forces integer constant because it was partly intended to be used as
a range in an array index.

Martien
-- 
Martien Verbruggen              | 
Interactive Media Division      | 
Commercial Dynamics Pty. Ltd.   | What's another word for Thesaurus?
NSW, Australia                  | 


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

Date: Tue, 2 Jan 2001 08:15:41 -0500
From: "James Richardson" <time4tea@monmouth.com>
Subject: Re: Quote "machine"
Message-Id: <92sk9u$51j$1@slb6.atl.mindspring.net>


"Uri Guttman" <uri@sysarch.com> wrote in message
news:x73df2a67o.fsf@home.sysarch.com...

> the correct idiom for a random element of an array is:
>
> $array[ rand @array ] ;
>

Yeah... I realised this some time after posting...

> you don't need the int either as the indexing provides an int context.
>

This surely is a matter of style.... I would probably write
rand(scalar ( @array) ) too... It just makes the context of what you are
trying to do much more obvious. Theres obviously more than one way to do
it....

Cheers

James




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

Date: Tue, 02 Jan 2001 20:47:50 GMT
From: Bart Lateur <bart.lateur@skynet.be>
Subject: Re: Quote "machine"
Message-Id: <ate45toasduv89snut0d1u2j79124jgmv9@4ax.com>

En|gMaBoM wrote:

>I cant understand why it keeps saying
>cant use global in "my" at quotes.pl line bla bla bla,

>my $3='When people are free to do as they please, they usually imitate each
>other. - Eric Hoffer';

The variables $1, $2 etc. are "special". These are read-only, set bu
regex matches, and *global*. There's no way to override that. That's why
it complains.

And there's no reason to make an elaborate Perl script with only quotes.
Just make a data file, with, say, 1 line per quote, and write a little
script that picks a random line from that file. Ooh, wait, there's some
working code in the FAQ.

	perldoc -q random
->
	...
	How do I select a random line from a file?

That's the one.

        rand($.) < 1 && ($line = $_) while <>;

Can it be that simple? Yes it can. The idea is that, the more lines
having been read, the less likely it is that the current value of $line
is overwritten by the current line. The first line definitely IS copied
into $line. For line two, there's a 50/50 chance it will be replaced. So
the old line, and the new line, both stand an equal chance of being
picked. For the third line, there's a 1 in 3 chance of it being picked,
and a 2 in 3 chance of one of the first two lines being picked, both
with an equal chance of having been selected before that. So all 3 lines
stand an equal chance. Do you begin to see a pattern? For $n lines,
there's a 1 in $n chance that line $n is picked, and a ($n-1) chance of
one of the ($n-1) previous lines being picked. In the end, all lines in
the text file all stand an equal chance.

I hope you don't raly on any command line arguments, then all you need
to do is set @ARGV to the file containing the quotes:

	@ARGV = 'quotes.txt';

-- 
	Bart.


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

Date: Tue, 02 Jan 2001 23:29:57 -0000
From: Chris Stith <mischief@velma.motion.net>
Subject: Re: Quote "machine"
Message-Id: <t54p3ltavj58c7@corp.supernews.com>

Bart Lateur <bart.lateur@skynet.be> wrote:
> En|gMaBoM wrote:

>>I cant understand why it keeps saying
>>cant use global in "my" at quotes.pl line bla bla bla,

>>my $3='When people are free to do as they please, they usually imitate each
>>other. - Eric Hoffer';

> The variables $1, $2 etc. are "special". These are read-only, set bu
> regex matches, and *global*. There's no way to override that. That's why
> it complains.

> And there's no reason to make an elaborate Perl script with only quotes.
> Just make a data file, with, say, 1 line per quote, and write a little
> script that picks a random line from that file. Ooh, wait, there's some
> working code in the FAQ.

I'll go one further, and show my somewhat trivial code to make my
random taglines in my signature. First, my newsreader runs a script 
called .gensig which is very trivial. Then, I'll show the script
called .tags which .gensig calls. Finally, I'll show a sample section
of my data file, which is unsurprisingly similar to a fortune cookie
file.

Notice, if you will, the double percent sign starting a line to
separate the fortunes/taglines. This is far from the first program
to use this as a record delimiter. Comments are lines which start
with a semicolon.

This is all pretty trivial. However, it is modular, uses a formatted
data file, includes some minimal error checking, allows for comments
in the data, does some randomization, and keeps my signature from
being static without much overhead.

Code follows.


###
### .gensig
###
#!/usr/bin/perl
print("Christopher E. Stith\n");
$saying = `./.tags`;
print("\n$saying\n");



###
### .tags
###
#!/usr/bin/perl
open(TL, "./.taglines") || die "./.taglines could not be read: $!\n";

$tags = 0;
while(<TL>) {
    if(/^%%$/) {
        $tags++;
    }
}
$which_tag = int(rand($tags));
$tags = 0;
seek(TL, 0,0);

while(<TL>) {
    if(/^%%$/) {
        $tags++;
        if($tags > $which_tag) {
            exit(0);
       }
    } elsif(/^;/) {
    } else {
        if($which_tag == $tags) {
            print("$_");
        }
    }
}


###
### .taglines
###
; Taglines v1.0.0
; 28 December, 2000
; Christopher E. Stith
Where there's a will, there's a lawyer.
%%
Even in the worst of times, there is always someone who's never had it better.
Even in the best of times, there is always someone who's never had it worse.
%%
Disclaimer: Actual product may not resemble picture in ad in any way.
%%


Chris

-- 
Christopher E. Stith

Where there's a will, there's a lawyer.



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

Date: Wed, 03 Jan 2001 15:02:04 -0500
From: Don <don@lclcan.com>
Subject: Reading email from a POP3 server
Message-Id: <3A53853C.1643A9CB@lclcan.com>

Hi all,

Quick question.  I need to write a Perl script that can read in several
emails (one at a time) form a POP3 server on my RedHat 7.0 Linux box and
parse each email.

What module would you recommend I use to facilitate this?

Thanks,
Don



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

Date: 3 Jan 2001 20:13:41 GMT
From: abigail@foad.org (Abigail)
Subject: Re: Reading email from a POP3 server
Message-Id: <slrn9571vl.nmu.abigail@tsathoggua.rlyeh.net>

Don (don@lclcan.com) wrote on MMDCLXXXII September MCMXCIII in
<URL:news:3A53853C.1643A9CB@lclcan.com>:
-- Hi all,
--
-- Quick question.  I need to write a Perl script that can read in several
-- emails (one at a time) form a POP3 server on my RedHat 7.0 Linux box and
-- parse each email.
--
-- What module would you recommend I use to facilitate this?


Considering that the fact you are using a specific distribution of
a some Unix OS is irrelevant to the protocol you wish to use, it's
becomes pretty obvious what a good search key would be at
http://search.cpan.org.



Abigail
-- 
perl -e '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
         / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 
         % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %;
         BEGIN {% % = ($ _ = " " => print "Just Another Perl Hacker\n")}'


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

Date: Wed, 03 Jan 2001 20:30:00 GMT
From: garry@zvolve.com (Garry Williams)
Subject: Re: Reading email from a POP3 server
Message-Id: <cZL46.74$xb2.3214@eagle.america.net>

On Wed, 03 Jan 2001 15:02:04 -0500, Don <don@lclcan.com> wrote:
>Quick question.  I need to write a Perl script that can read in
>several emails (one at a time) form a POP3 server on my RedHat 7.0
>Linux box and parse each email.
>
>What module would you recommend I use to facilitate this?

 Net::POP3

-- 
Garry Williams


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

Date: Sun, 31 Dec 2000 00:50:27 GMT
From: Roger Hinson <hinson@home.com>
Subject: Re: reading multi-line records
Message-Id: <3A4E8296.CD0CA21D@home.com>

	Hi Chris,

	I used your code below to do break a file I have into records which
I'll later play with, but when I print it to a file, it doesn't enter
the last record.  Here is what I modified your code to:

#!e:/perl -w

#  This scripts cleans up the
#  output of the log file
#
#  12/28/00  Roger Hinson
#

use strict;
use Fcntl;

# Open the daily log
my $INFILE="e:/roger/perl/12242000.log";

# Open the temporary processing file
my $TMPFILE="e:/roger/perl/12242000.tmp";

# Open the final output file
# my $OUTFILE="e:/roger/perl/1224done.log"; # Not using this yet

open "INFILE", "$INFILE" or die "Could not open '$INFILE'  $!";
open "TMPFILE", ">$TMPFILE" or die "Could not open '$TMPFILE'  $!";

my $template = '';

while (<INFILE>)	{
	if ( /Template/ ) { ### or whatever regex assures you it's a new
record...
                                ### process the existing record when you
see a new one

        if ( $template ) { ### only process if the record has a value,
such as after
                           ### we see the first start - we need to see
the second
                           ### start to process the first

            print TMPFILE "Current template is ($template)\n"; ###
process the record
            $template = '';    ### reset the record, because we're
starting a new one
        }

    } 

    $template .= $_; ### add the current line to the record. In the case
of a new
                     ### record, we've already cleared the old one
above.
}

close ("INFILE");
close ("TMPFILE");

	I use the variable template to hold each record.  However, the last
record starting with "Template" never gets printed to the out file.. 
Could you explain why and what I might do to fix it?  I'm very new to
Perl so if it's in the docs, you can just point me there...

	Thanks,

	Roger



Chris Stith wrote:

> 
> A way to combine some of the robustness and flexibility of the second
> method with some of the efficiency of the first is to only use a regex
> when dividing between one record and another. This might not save you
> much if you have to apply a regex to the whole record later, but if you
> are interested in breaking the file into records, then using split() or
> something similar to get just certain fields from the record, you might
> save some time.
> 
> ###-----###
> $record = '';
> while(<>) {
>     if ( /^[A-Z]+/ ) { ### or whatever regex assures you it's a new record...
>                        ### process the existing record when you see a new one
> 
>         if ( $record ) { ### only process if the record has a value, such as after
>                          ### we see the first start - we need to see the second
>                          ### start to process the first
> 
>             &process_record($record); ### process the record
>             $record = ''; ### reset the record, because we're starting a new one
>         }
> 
>     }
> 
>     $record .= $_; ### add the current line to the record. In the case of a new
>                    ### record, we've already cleared the old one above.
> }
> ###-----###
> 
 ...
> 
> Chris
> 
> --
> Christopher E. Stith
> 
> Disclaimer: Actual product may not resemble picuture in ad in any way.


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

Date: 16 Sep 99 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 16 Sep 99)
Message-Id: <null>


Administrivia:

The Perl-Users Digest is a retransmission of the USENET newsgroup
comp.lang.perl.misc.  For subscription or unsubscription requests, send
the single line:

	subscribe perl-users
or:
	unsubscribe perl-users

to almanac@ruby.oce.orst.edu.  

| NOTE: The mail to news gateway, and thus the ability to submit articles
| through this service to the newsgroup, has been removed. I do not have
| time to individually vet each article to make sure that someone isn't
| abusing the service, and I no longer have any desire to waste my time
| dealing with the campus admins when some fool complains to them about an
| article that has come through the gateway instead of complaining
| to the source.

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

To request back copies (available for a week or so), send your request
to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
where x is the volume number and y is the issue number.

For other requests pertaining to the digest, send mail to
perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
sending perl questions to the -request address, I don't have time to
answer them even if I did know the answer.


------------------------------
End of Perl-Users Digest V9 Issue 5244
**************************************


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