[19254] in Perl-Users-Digest
Perl-Users Digest, Issue: 1449 Volume: 10
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Aug 6 03:10:32 2001
Date: Mon, 6 Aug 2001 00:10:14 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Message-Id: <997081814-v10-i1449@ruby.oce.orst.edu>
Content-Type: text
Perl-Users Digest Mon, 6 Aug 2001 Volume: 10 Number: 1449
Today's topics:
Re: Matching Strings in an array <ahamm@sanderson.net.au>
Re: Module help needed! <goldbb2@earthlink.net>
Re: Optimum Sum? (Mark Jason Dominus)
Re: Optimum Sum? <Tassilo.Parseval@post.rwth-aachen.de>
Perl not releasing lock on file under Windows?? <miscellaneousemail@yahoo.com>
Re: prompting and redirection with ssh (David Efflandt)
searching hash with array values (brian)
Re: searching hash with array values (Logan Shaw)
Strange IE cookie behaviour <ceverett@cobalt.physemp.com>
Re: Telnet/MUD server <goldbb2@earthlink.net>
Uploading files to a sever. <one@two.com>
using bioperl blast.pm <citykid@nospam.edu>
What is OpenPSP? (John Holdsworth)
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Mon, 6 Aug 2001 10:49:14 +1000
From: "Andrew Hamm" <ahamm@sanderson.net.au>
Subject: Re: Matching Strings in an array
Message-Id: <3b6de9ee$1@news.iprimus.com.au>
Yves Orton wrote in message
<74f348f7.0108030025.5137a224@posting.google.com>...
>>
>> Permit me to translate to clearer but less compact code for or (probably)
>> newbie friend (since the line you offer is fairly dense):
>>
>
>Hmm. Sorry about that. I just felt that there was something
>unaesthetic about the double block for such a simple problem. To be
>honest it took a couple of tires to get it that dense.
>
Heh heh. Didn't say I didn't appreciate it ;-) Nice piece of work. I was
just concerned about a newbie maybe being thrown off by yet more concepts
they haven't met yet.
You might like to try swapping "and" for && to ward off precedence problems
with different expressions.
$cname!~/$_/ and next COVER foreach @words;
I often (well, sometimes) string together expressions a la
X and Y and Z
so there could easily be precedence problems especially with assignments or
function calls.
Note also that the ( ) on the foreach list is not necessary for this
syntax - that's another saving of 2 chars!
Cheers.
--
Space Corps Directive #001
It is a prime, overriding duty to contact other lifeforms, exchange
information, and, whenever possible, bring them home for the night.
-- Red Dwarf
------------------------------
Date: Sun, 05 Aug 2001 19:51:14 -0400
From: Benjamin Goldberg <goldbb2@earthlink.net>
Subject: Re: Module help needed!
Message-Id: <3B6DDBF2.2F720575@earthlink.net>
Yves Orton wrote:
[snip]
> Also instead of
>
> return ($login && $level) ? ($login,$level) : ("","");
>
> you could also
>
> return ($login && $level) ? ($login,$level) : undef;
>
> As undef returned to a list context is still false...
Actually, in list context, return undef will return a one-element list,
containing undef. What you really want is:
return ($login && $level) ? ($login,$level) : ();
Which returns the empty list, and since the scalar value of a list
assignment is the number of values assigned, this properly acts as
false. Or you could do:
return unless $login && $level;
return ($login,$level);
A bare "return" will return undef in scalar context, and the empty list
in list context.
--
I need more taglines. This one is getting old.
------------------------------
Date: Mon, 06 Aug 2001 02:25:01 GMT
From: mjd@plover.com (Mark Jason Dominus)
Subject: Re: Optimum Sum?
Message-Id: <3b6dffcf.7083$250@news.op.net>
In article <9kg9id$873$1@bob.news.rcn.net>,
Eric Bohlman <ebohlman@omsdev.com> wrote:
>benhopkins@mindspring.com wrote:
>> But I was wondering if there were some way of
>> optimizing the groupings so that each one would
>> be as close to the 80 minute limit as possible,
>> short of brute force.
>
>This is the "packing problem," and it's NP-complete; no better solution
>than brute force is currently known.
That's a considerable oversimplification, and a rather unhelpful one.
Plenty is known about this problem. For example, if you sort the MP3
files into descreasing size order, and then pack each one onto the
first 80-minute CD which has enough room left for it, you get a
solution which never requires more than about 22% more than the
minimal number of CDs.
--
@P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p{
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\S/;print
------------------------------
Date: Mon, 06 Aug 2001 08:13:59 +0200
From: Tassilo von Parseval <Tassilo.Parseval@post.rwth-aachen.de>
Subject: Re: Optimum Sum?
Message-Id: <3B6E35A7.80303@post.rwth-aachen.de>
Mark Jason Dominus wrote:
>In article <9kg9id$873$1@bob.news.rcn.net>,
>Eric Bohlman <ebohlman@omsdev.com> wrote:
>
>>benhopkins@mindspring.com wrote:
>>
>>>But I was wondering if there were some way of
>>>optimizing the groupings so that each one would
>>>be as close to the 80 minute limit as possible,
>>>short of brute force.
>>>
>>This is the "packing problem," and it's NP-complete; no better solution
>>than brute force is currently known.
>>
>
>That's a considerable oversimplification, and a rather unhelpful one.
>Plenty is known about this problem. For example, if you sort the MP3
>files into descreasing size order, and then pack each one onto the
>first 80-minute CD which has enough room left for it, you get a
>solution which never requires more than about 22% more than the
>minimal number of CDs.
>
While it is true that you get decent results with your method, which is
actually called Greedy, without the need for backtracking, you
nonetheless have a NP-complete problem if you want to find the optimum.
You can soften this a little with dynamic programming and using
memoization (that is, storing the results of certain permutations in
tables so to not recurse over them if you already have done so before).
But at least you are right that a practical solution would not have to
backtrack. The Greedy-strategy is easy to implement and works quite fine.
Tassilo
--
$a=[(74,116)];$b=[($a->[1]-1,$a->[1]++,0x20)];$c=[(97,110)];$d=[($c->
[1]+1,$b->[1],"her")];for(@{[$a,$b,$c,$d]}){for(@{$_}){$_=~/\d+/?print
(chr($_)):print;}}$c=sub{$l=shift;[(0x20+$l-1,0x50,0x65,0x73-0x01,108
),(0x20,0x68,0x61,)]};print(map{chr($_)}@{($c->(1))});$h={a=>33*3,b=>
10**2+7,c=>"1"."0"."1",d=>0162};@h=sort(keys(%$h));for(@h){print(chr(
ord(chr($h->{$_}))))};
------------------------------
Date: Mon, 06 Aug 2001 00:34:35 GMT
From: Carlos C. Gonzalez <miscellaneousemail@yahoo.com>
Subject: Perl not releasing lock on file under Windows??
Message-Id: <MPG.15d7924481656b7d989707@news.edmonton.telusplanet.net>
Hi everyone,
I have a CGI Perl script activated by a submit button on an HTML form.
The CGI script executes fine under Perl at the DOS command prompt.
This is the code (it's just a dummy script to test that things are
working):
#!/usr/bin/perl
use CGI::Carp qw(carpout fatalsToBrowser);
use diagnostics;
use strict;
use constant TRUE => "1"; #any value other than "0" or "" is
true!
use constant FALSE => "0";
print "Content-type: text/html\n\n";
if ("1" eq TRUE) {
print "hello there";
}
When I run this CGI script as the action of my HTML form my browsers
(both Opera and Internet Explorer) pass off control to the Perl
interpreter. At this point Perl apparently gets stuck and never closes
down. The CGI file ends up being locked and I am denied access and must
jump through hoops to be able to edit it again.
In the CTRL-ALT-DEL windows box Perl shows up for as many times as I have
pressed the Subscribe button on my form (calling the CGI script above in
the process). I have to End Task each instance of Perl manually before I
stand a chance of editing and saving changes to my CGI script again.
Has anyone ever experienced something like this before? If so can you
share what the cause and solution was?
I am running Windows Apache and serving up the HTML form and calling the
CGI script through localhost. I have done this a lot and have not
experienced this problem before.
Thanks.
--
Carlos
www.internetsuccess.ca
------------------------------
Date: Mon, 6 Aug 2001 02:42:30 +0000 (UTC)
From: see-sig@from.invalid (David Efflandt)
Subject: Re: prompting and redirection with ssh
Message-Id: <slrn9ms10l.6vp.see-sig@typhoon.xnet.com>
On Sun, 5 Aug 2001, David Efflandt <see-sig@from.invalid> wrote:
> On Sun, 05 Aug 2001, Billy \"Bob\" Bob <billy_dont_try@verizon.net> wrote:
>>
>> I am trying to figure out how to "intelligently" prompt the user from
>> perl. I have read a great deal from this newsgroup (via
>> groups.google.com), the perl cookbook, and other resources. Attached
>> is the script that I have written based off of these readings.
>>
>> It appears to work in every scenario I throw at it from the console.
>> Below are some examples usages:
>> ./input.pl . file -
>> echo input | ./input.pl - file
>> echo input | ./input.pl - file /dev/tty
>> echo input | ./input.pl - file /dev/tty > a
>> ./input_pl file - /dev/tty > a
>>
>> However, when I try and run this last one via ssh the prompt does not
>> appear on the screen. It is re-directed to the file 'a'. That is,
>> when I:
>> ssh -t host input.pl file - /dev/tty > a
I did some further testing and you don't even need to worry about a tty
since apparently STDIN and STDOUT are automatically piped through ssh
(OpenSSH), although, then TERM=dumb. Example:
#!/usr/bin/perl -w
use strict;
my($reply);
$| = 1;
print "Feed me: ";
if (defined($reply = <STDIN>)) { chomp $reply; } # single line
# while (defined($_ = <STDIN>)) { $reply .= $_; } # multiline
if ($reply) {
print "You entered: $reply\n";
} else {
print "No input received\n";
}
efflandt@compaq:~ > ssh mainpc ./input2.pl
Feed me: This works too!
You entered: This works too!
--
David Efflandt (Reply-To is valid) http://www.de-srv.com/
http://www.autox.chicago.il.us/ http://www.berniesfloral.net/
http://cgi-help.virtualave.net/ http://hammer.prohosting.com/~cgi-wiz/
------------------------------
Date: 5 Aug 2001 15:51:16 -0700
From: brian@remorse.dhs.org (brian)
Subject: searching hash with array values
Message-Id: <7660fccc.0108051451.643ac2b8@posting.google.com>
I suspect I'm being dumb, but here it is.
Suppose that a file contains record of the type
fruit:banana,apple,pear
vegetable:cucumber,tomato
...
I create a hash in which keys 'fruit' and 'vegetable' correspond to
lists of the appropriate food items. The user enters the name of a
food item. We want to know whether the food item is in our database,
and, if so, what category of food it is. I know that I can brutally
search with a foreach keys(%food) and a foreach for the matching
arrays, but I have the feeling that it isn't an elegant way.
Suggestions appreciated. TIA, feliz navidad.
------------------------------
Date: 5 Aug 2001 18:03:26 -0500
From: logan@cs.utexas.edu (Logan Shaw)
Subject: Re: searching hash with array values
Message-Id: <9kkjbu$8gr$1@charity.cs.utexas.edu>
In article <7660fccc.0108051451.643ac2b8@posting.google.com>,
brian <brian@remorse.dhs.org> wrote:
>Suppose that a file contains record of the type
>fruit:banana,apple,pear
>vegetable:cucumber,tomato
>...
>
>I create a hash in which keys 'fruit' and 'vegetable' correspond to
>lists of the appropriate food items. The user enters the name of a
>food item. We want to know whether the food item is in our database,
>and, if so, what category of food it is. I know that I can brutally
>search with a foreach keys(%food) and a foreach for the matching
>arrays, but I have the feeling that it isn't an elegant way.
You've sized up the situation pretty well. If you create that data
structure, you'll have to exhaustively search it in order to find
something. In a Perl hash, you can only look up things by key, not by
value.
Probably what you need to do is a create a hash that looks like this:
%index =
(
banana => 'fruit',
apple => 'fruit',
pear => 'fruit',
cucumber => 'vegetable',
tomato => 'vegetable'
);
Depending on what your needs are, you may want to create this data
structure instead of hte data structure you've described above or maybe
in addition to it.
I'm certain that a one-liner is possible for converting from the data
structure you've described into the one I have, but I think a loop
would be clearer, so I'd use that.
- Logan
--
"Our grandkids love that we get Roadrunner and digital cable."
(Advertisement for Time Warner cable TV and internet access, July 2001)
------------------------------
Date: Mon, 06 Aug 2001 01:51:40 -0500
From: "Christopher L. Everett" <ceverett@cobalt.physemp.com>
Subject: Strange IE cookie behaviour
Message-Id: <3B6E3E7C.3D81D1F0@cobalt.physemp.com>
Hello,
I got Apache::AuthCookie to work for me, but only with netscape
and mozilla browsers.
When I browse my site via an IE browser with prompting enable for
accepting cookies, I never get prompted to accept the cookie.
Yet nutscrape and mozilla both see the cookie.
So far I've rewritten my subclass of AuthCookie to use CGI::Cookie
to parse and generate the cookies, and added lots of debug statements
without any light or effect on the problem.
I've looked high and low for resources on this without success.
Does anyone have a clue stick for me?
--Christopher
------------------------------
Date: Sun, 05 Aug 2001 19:44:38 -0400
From: Benjamin Goldberg <goldbb2@earthlink.net>
Subject: Re: Telnet/MUD server
Message-Id: <3B6DDA66.9483762A@earthlink.net>
Philip Taylor wrote:
>
> Thanks for your response -- just a 'few' points to mention:
>
> In article <3B65FB22.723941FD@earthlink.net>, Benjamin Goldberg
> <goldbb2@earthlink.net> writes
> >Unless you *need* to do TELNET protocol (all caps because the
> >protocol name is an acronym) specific actions, then you can use
> >simple tcp sockets, and not worry about the protocol.
>
> I don't need to use the 'real' TELNET protocol -- I just called it
> "Telnet" because all the programs which I've connected with are Telnet
> terminals (although I've now found that I can use IRC and MUD clients
> too)
The main advantages of the TELNET protocol is that when the clients are
using the 'telnet' program, the protocol can be used to query what kind
of terminal they're using, turn turn on and off echoing, and toggle
between char-at-a-time/line-at-a-time processing.
> >You will probably have an easier time of it if you use IO::Socket
> >module instead of Socket.
>
> I'm not sure exactly what advantages IO::Socket has over Socket, but
> I've found a tutorial/example and converted all my Socket code into
> IO::Socket anyway. It appears to just simplify the select/vec/etc
> commands, and add a few extra features. It works fine, but I hope it
> was worth it :-)
The biggest advantage is that you are no longer polluting your namespace
with socket names. Second is that you can replace select/vec with
IO::Select, which can make your code simpler.
[snip]
> >Calling select in your program will tell if the tcp stack has some
> >data buffered for that particular tcp connection.
> >When you call sysread, it copied the data from the tcp buffer into
> >your program's memory, then removed from the tcp buffer.
>
> So the Perl program doesn't need to wait while it 'downloads' the
> data, which is good :-)
It needs to wait if there's nothing in the tcp buffer, and doesn't need
to wait otherwise.
> >> # wait for one of the inputs to be ready
> >> select($rout=$rin, undef, undef, undef);
> >
> >This is ok for something like a chat client, but for a MUD, there are
> >things happening even when the users aren't typing... for example,
> >monsters attacking/moving around, people healing (if they were
> >injured and are resting), etc.
>
> It's not actually a MUD (although it functions similarly, with users
> just connecting and sending text) -- it's a text conversion of
> multiplayer deathmatch games like Quake. A cross between a MUD without
> the roleplaying, and an FPS without the graphics...
Not all MUDs bother with roleplaying. I used to play some MUDS...
mostly, it was chat with other people, explore, kill monsters for gold
and experience, buy equipment for fighting.
> There are no monsters, no healing over time; the only things which
> ever happen are directly due to user input, and so it shouldn't be
> necessary to have a timeout.
In most MUDs, you slowly heal whenever your hit points are less than
full. It's not noticible when you're fighting, but if you leave the
'room' (and your opponent doesn't follow you and keep attacking), you
get back to full hp after a few minutes. This way, there's a nice
balance between fighting and chatting... you chat with your friends when
resting/healing to attack the next monster.
Also, in most muds, if you're actively fighting a person a monster, your
character *automatically* keeps attacking every round, and can't attack
more than once per round. So once you type 'kill ogre', you will
continuously do your basic attacks to each other repeatedly until one or
the other of you dies. During this, you can use 'special' attacks,
based on your guild/class, or special equipment, but even if you don't,
your character doesn't stand there like a lump.
If in your game, people only attack when they type 'hit x' 'chop x'
'kick x', etc, then a slow connection can get you unfairly killed.
Also, without some way of limiting how often people can attack, someone
using a bot of some sort can have it send 'punch x' 50 bazillion times
in one second, killing you instantly.
> >If sysread returns <= 0, then the user has closed his connection...
> >told telnet to exit (killed the window or whatever). That should be
> >handled as a seperate case from the input being "\n".
>
> When processInput ran, it checked whether the length of the data was
> 0, and closed the connection if it was. This usually worked, but if
> the user has some input buffered (e.g. they begin to type a line of
> text) and then disconnect, I suppose it'll just process the beginning
> of the line and not notice that they've disconnected...
Always, yes, always, check the return values of system calls... checking
if the length of the data is 0 is bad, checking if sysread returned >0
is good.
> When I wrote the new IO::Socket version, I've used what you suggested
> and it works fine.
Good.
[snip]
> >Depending on what kind of MUD you want, you might make it so that
> >players can *only* attack the bots, not each other.
>
> Since the game design is based on a multiplayer FPS rather than a MUD,
> the entire game centers around killing other (human) players. The bots
> are only there in case someone logs in and finds nobody else is
> playing, so that they can at least attempt to kill something (and the
> bots will also be useful for me to test the system with lots of
> players).
I see. But once you get it all working, you'll want to work in
improving the intelligence of your bots, so that they can compete fairly
with people, and not just by having faster reflexes. A dumb bot with
really fast reflexes is boring, even if it's hard to kill. A bot whose
reflexes are no faster than a humans, but which is smart, can be an
interesting opponent.
The reason you want bots is that most of the time, noone's going to be
playing -- nothing against your game, but unless you and your friends
all have similar schedules, then everyone's going to have slots of
different free time -- you need to have your server going full time, on
a known machine, with something to entertain people while they're
waiting for more players.
[snip]
> >Also, how smart your bots are is another design decision (it's also
> >limited by your ability to code<gg>)
>
> The game is very simple (move and shoot, perhaps changing weapons
> occasionally), and based largely on speed (like most FPSs), so the
> bots don't need to be particularly smart -- I might have to add some
> simulated lag to reduce their speed advantage.
Better to have MUD like limits on how fast *anyone* can move, so as long
as players can respond within 2 seconds of seeing text, their lag mostly
irrelevant. If you give the bots these same limits, humans will be able
to compete with them.
> >I would suggest that instead of coding your MUD from scratch, you go
> >find the FAQs for reg.games.mud.*, and see if there is already a MUD
> >written in perl (or in any other language you know and can code in).
>
> After unsuccessfully searching this newsgroup for anything about
> "telnet servers" I tried searching for "MUD" and found what appears to
> be the only Perl MUD, imaginatively named PerlMUD. I've downloaded it,
> and it looks like it uses a similar connection method to the one I
> originally had -- "use Socket", "select", "vec", etc -- and you've
> said IO::Socket is better. And anyway, I'm more interested in learning
> Perl than creating a fully working game :-)
Not 'better', but easier to use and maintain.
--
I need more taglines. This one is getting old.
------------------------------
Date: Mon, 6 Aug 2001 08:59:49 +0200
From: "Just Some Guy" <one@two.com>
Subject: Uploading files to a sever.
Message-Id: <9klf67$98a$1@mosquito.HL.Siemens.DE>
Hi,
I am hoping that somebody can help me. I am using perl to do cgi scripting
and I would like to find a tutorial explaning the basic of uploading a file
onto the server from a client webbrowser.
Any help would be appreciated.
Thanx in advance,
me, myself and I
------------------------------
Date: Sun, 5 Aug 2001 19:00:09 -0700
From: Les Ander <citykid@nospam.edu>
Subject: using bioperl blast.pm
Message-Id: <Pine.LNX.4.33.0108051858490.25817-100000@schewanella.stanford.edu>
Hi,
I am having difficulty using the module that is part of bioperl.
I have tried very hard but i can't get it to work. Can some one please
show me how i can get it to work. thanks
here is the code----------------------------------------
#!/usr/bin/perl
#use strict;
use Bio::Tools::Blast::Run::Webblast qw(&blast_remote);
use Bio::Tools::Blast;
use Bio::Seq;
$seq_obj=Bio::Seq->new(-seq=>'atagacaggactacgcgagctag');
%params = (
-seqs => $seq_obj,
-method => 'remote',
-prog => 'blastn',
-database => 'nr',
-version => 2, # BLAST2
-html => 'on',
-descr => 250,
-align => 250,
-expect => 10,
-gap => 'on',
-matrix => 'PAM250',
-email => undef, # don't send report via e-mail
-filter => undef, # use default
-gap_c => undef, # use default
-gap_e => undef, # use default
-word => undef, # use default
-min_len => undef, # use default
);
$blast_obj = Bio::Tools::Blast->new(
-run => \%params,
-parse => 1,
-signif => '1e-10',
-strict => 1,
);
#@out_file_names = &blast_remote($blast_obj, %params);
------------------------------------------------------------
i get the following error message..
perl blast_search_eg.pl
-------------------- EXCEPTION --------------------
MSG: Can't get sequences to be Blasted: No sequence data.
STACK Bio::Tools::Blast::Run::Webblast::blast_remote
/usr/lib/perl5/site_perl/5.6.0/Bio/Tools/Blast/Run/Webblast.pm:567
STACK Bio::Tools::Blast::_run_remote
/usr/lib/perl5/site_perl/5.6.0/Bio/Tools/Blast.pm:1234
STACK Bio::Tools::Blast::run
/usr/lib/perl5/site_perl/5.6.0/Bio/Tools/Blast.pm:1169
STACK Bio::Tools::SeqAnal::_initialize
/usr/lib/perl5/site_perl/5.6.0/Bio/Tools/SeqAnal.pm:279
STACK Bio::Root::Object::new
/usr/lib/perl5/site_perl/5.6.0/Bio/Root/Object.pm:474
STACK toplevel blast_search_eg.pl:31
-------------------------------------------
Compilation exited abnormally with code 255 at Sun Aug 5 18:56:30
------------------------------
Date: 5 Aug 2001 15:52:17 -0700
From: coldwave@bigfoot.com (John Holdsworth)
Subject: What is OpenPSP?
Message-Id: <2a46b11e.0108051452.6cb01226@posting.google.com>
In the last week I've posted a few messages related to
http://www.openpsp.org from which you can download
a Perl Web server which supports "Perl Server Pages",
virtual hosting, virtual directories and compiled CGI.
There's been sufficent interest that I've updated the
documentation and made available a new release 1.7 that
also contains a fix for a classic ".." vulnerability.
To summarise some of the other postings a very simular
perl web server core is used in some PerlScript HTML
applications. These web pages are operate as Web servers,
serving their own requests and are an easy way to create
a self-contained "active document" not requiring a Web server.
The three examples are:
http://www.openpsp.org/source/util/perltoc.pl
(patches ActiveState Perl's documentation to make it searchable)
http://www.openpsp.org/source/util/search.html.gz
(unzip it into any documentation directory to make it searchable)
http://www.openpsp.org/source/util/du.hta.gz
(a version of UNIX "du" as an example of a perl HTMl application)
Enjoy.
john
coldwave@thunder.it
------------------------------
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.
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 1449
***************************************