[12166] in Perl-Users-Digest
Perl-Users Digest, Issue: 5766 Volume: 8
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon May 24 17:07:20 1999
Date: Mon, 24 May 99 14:00:20 -0700
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Mon, 24 May 1999 Volume: 8 Number: 5766
Today's topics:
Re: ANNOUNCE: Champaign-Urbana.pm Meeting Tue May 25 (dbt)
Bizarre perl/linux/ppp problem (bill davidsen)
Chdir not working since I went to IIS4 <jim.ray@west.boeing.com>
Re: Chdir not working since I went to IIS4 (Greg Bacon)
Re: DB2 SDK required to use DBD::DB2? (C superior?) <tzadikv@my-dejanews.com>
Re: How to check for ASCII? (Tad McClellan)
Re: how to create dynamic arrays <kensai@nortel.com>
jerri rigged forms instead of CGI... bad? <matt@betcha.net>
Re: List of files in a directory? (I R A Aggie)
Re: List of files in a directory? <tchrist@mox.perl.com>
Re: Mac-specific Perl help requested - The Answer (yet <josh@bitwell.net>
Re: Mac-specific Perl help requested - The Answer (yet (Chris Nandor)
Re: Object Copy constructor? (Jan Dubois)
ooPerl is harder than it looks <kensai@nortel.com>
Problems with a guestbook entry script <tim.shapcott@NOSPAMvirgin.net>
Re: Problems with a guestbook entry script (Michel Dalle)
Re: regexp question <aghaeim@genesis.co.nz>
Re: regexp question garthwebb@my-dejanews.com
Re: regexp question (Tad McClellan)
Re: regexp question <rick.delaney@home.com>
Searching for a \ in string johnpaddyregan@my-dejanews.com
Re: Searching for a \ in string <tony@emailcyberscape.net>
Re: undef of namespaces <marc.dietrich@physik.uni-giessen.de>
Re: undef of namespaces <tchrist@mox.perl.com>
Special: Digest Administrivia (Last modified: 12 Dec 98 (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: 24 May 1999 20:25:46 GMT
From: dbt@meat.net (dbt)
Subject: Re: ANNOUNCE: Champaign-Urbana.pm Meeting Tue May 25
Message-Id: <slrn7kjdeb.gpj.dbt@pianosa.catch22.org>
Daniel S. Lewart <d-lewart@uiuc.edu> says:
>> Our May meeting will be:
>> Tue May 25 19:00 CDT
>> Papa Del's
>> 206 E Green St
>> Champaign, IL
>
>Special guest guru: Randal Schwartz!
>
>Dan
>http://cmi.pm.org/
Whoa, _COOL_. Damn me for being in california....
--
David Terrell
dbt@meat.net, dbt@nebcorp.com I may or may not be speaking for Nebcorp,
http://wwn.nebcorp.com/~dbt/ but Nebcorp has spoken for you.
------------------------------
Date: 24 May 1999 20:17:34 GMT
From: davidsen@tmr.com (bill davidsen)
Subject: Bizarre perl/linux/ppp problem
Message-Id: <7icc4u$tgo$1@newssvr01-int.news.prodigy.com>
I have a server which has a fair number of PPP connect points, often
with multiple connects up at once. I wrote a small perl script to kill
the "right" connection by name rather than process id. If I tell it
'pppstop atlanta' it finds an IP address in a database, does a 'netstat
-rn' to find which ppp process is running that connect, looks in
/var/run for the process number, such as file ppp3.pid for example, and
kills the process.
Here's the odd part, if I do an internal perl kill, such as
kill "HUP", $proc_id
the process ends without running the ip-down script, while
system("kill -HUP $proc_id")
also kills the process, but it runs ip-down on the way out.
What I tried:
For the perl kill I put an explicit 15 instead of the 'HUP'
I ran with both ppp-2.3.5 and ppp-2.3.8
I ran both 2.0.33 and 2.1.131 linux
Since this is a production machine I'm not happy trying other kernels,
and I don't see it as a kernel issue. There is some subtle difference
between the internal kill and the kill process run from a shell, but I
have no idea what it is.
Note that both methods kill the right process and drop the connect.
Obviously I have this working, but I would really like to have a clue
what could be causing this problem.
--
bill davidsen <davidsen@tmr.com> CTO, TMR Associates, Inc
One common problem is mistyping an email address and creating another
valid, though unintended, recipient. Always check the recipient's
address carefully when sending personal information, such as credit
card numbers, death threats or offers of sexual services.
------------------------------
Date: Mon, 24 May 1999 18:20:24 GMT
From: "news.boeing.com" <jim.ray@west.boeing.com>
Subject: Chdir not working since I went to IIS4
Message-Id: <FC91Lt.Iyp@news.boeing.com>
The following code use to work under IIS 3 and now has stop working under
IIS4. The main code that is not working is the "chdir" command. I am
running NT 4.0 sp3 and IIS 4. I am also using ActiveState Perl. Is there a
URL that list what commands are the same and differnent from UNIX and NT?
$filedir = $query->param(keywords);
$filepath = "//NT-ZZZ-ZZ//epmr//Telecon//$filedir//;
opendir(DIR,$filepath);
chdir ($filepath);
@list1 = readdir(DIR);
$list1 = @list1;
Thank you for the help. I really need it.
--
Jim Ray
Delta Program NT Administrator
The Boeing Company
714-896-2038
jim.ray@west.boeing.com
------------------------------
Date: 24 May 1999 20:27:50 GMT
From: gbacon@itsc.uah.edu (Greg Bacon)
Subject: Re: Chdir not working since I went to IIS4
Message-Id: <7icco6$d29$1@info2.uah.edu>
In article <FC91Lt.Iyp@news.boeing.com>,
"news.boeing.com" <jim.ray@west.boeing.com> writes:
: The following code use to work under IIS 3 and now has stop working
: under IIS4. The main code that is not working is the "chdir" command.
: I am running NT 4.0 sp3 and IIS 4. I am also using ActiveState Perl.
My heart goes out to you. :-(
: Is there a URL that list what commands are the same and differnent
: from UNIX and NT?
There should be no differences. Some of Perl's operators are
unimplemented in the NT port, but that's because NT is an inferior
operating system.
: $filedir = $query->param(keywords);
You appear to be using the CGI module. Good. :-)
: $filepath = "//NT-ZZZ-ZZ//epmr//Telecon//$filedir//;
Hmm.. why are you doubling your slashes? You get bonus points for
using the One True Slash, but you have to give them back because
you forgot that you only have to double *back*slashes. Still, NT's
kernel understands the One True Slash as a path separator. It's
DOS's idiot command interpreter that visited this madness upon you.
There's a reason NT did away with command.com. :-)
That said, you probably want to use something like
$filepath = '/NT-ZZZ-ZZ/epmr/Telecon/' . $filedir . '/';
It's a directory, though. Wouldn't it be better to put it in $dirpath?
: opendir(DIR,$filepath);
ALWAYS CHECK THE RETURN VALUE WHEN YOU MAKE A SYSTEM CALL! That said,
you probably want to use something like
unless (opendir DIR, $dirpath) {
log_message "Failed opendir $dirpath: $!";
return;
}
where log_message() is a sub that logs errors or warnings or whatever.
(I'm assuming this code is itself inside a subroutine.)
: chdir ($filepath);
ALWAYS CHECK THE RETURN VALUE WHEN YOU MAKE A SYSTEM CALL! That said,
you probably want to use something like
unless (chdir $dirpath) {
log_message "Failed chdir $dirpath: $!";
return;
}
The same assumption as above applies here. It's not clear why you
want to change the working directory to $dirpath, though (which is not
to say that there couldn't be a good reason--you'll have to decide
that for yourself :-).
: @list1 = readdir(DIR);
: $list1 = @list1;
Do you really want the number of files in $dirpath to be in $list1?
If you're after the first file in the array, you should use one of
($list1) = @list1;
$list1 = $list1[0];
$list1 = shift @list1; # beware: alters @list1
If you don't remember anything else from this post, ALWAYS CHECK THE
RETURN VALUE WHEN YOU MAKE A SYSTEM CALL!
Hope this helps,
Greg
--
The surest sign that intelligent life exists elsewhere in the universe is that
it has never tried to contact us.
-- Calvin
------------------------------
Date: Mon, 24 May 1999 20:19:04 GMT
From: Tzadik Vanderhoof <tzadikv@my-dejanews.com>
Subject: Re: DB2 SDK required to use DBD::DB2? (C superior?)
Message-Id: <7icc7m$gnb$1@nnrp1.deja.com>
"ldd" definitely sounds like something worth trying. The only
problem is that I don't seem to have it anywhere on my system.
I've done a whole recursive search from "/" as root (using a perl
script :) and didn't find any file named "ldd".
Know where I can find it?!
Also, does it seem likely that I would get an error message that
says DB2.so does not exist, when the problem really lies with
something called from DB2.so?
Thanks!
> >The
"DB2.so"
> > file it claims does not exist actually does exist...the problem
seems to be
> > something that is called from "DB2.so". The only way I could come
up with to
> > solve this problem was to install the DB2 SDK on the second machine
and
> > rebuild DBD::DB2 there.
> >
>
> Did you do an 'ldd DB2.so'
> check these dependencies and copy those libraries to the other system,
> too.
--
Thanks,
Tzadik
--== Sent via Deja.com http://www.deja.com/ ==--
---Share what you know. Learn what you don't.---
------------------------------
Date: Mon, 24 May 1999 11:28:19 -0400
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: How to check for ASCII?
Message-Id: <j6rbi7.mcj.ln@magna.metronet.com>
[ You are posting in Jeopardy style too.
Please don't do that.
Followups not should flow in reverse chronological order.
People don't think that way.
]
Mike Garcia (rp5280@email.sps.mot.com) wrote:
: Hey Larry,
: Thanks for the info, but I thought you were a bit rude in calling my v-card
: "crap"!
You reap what you sow.
Posting the vcard was rude (and wasteful).
: That is something that is required by my work and I didn't know it would be
: posted to the news group.
So you didn't know that it was considered rude.
No problem.
Just say "Opps. Sorry" and configure your "newsreader" so that
it doesn't do it anymore and post away.
You are not likely to change Usenet folk's perception of what
is seen as rude or not. Better to either accept it or don't
join them.
: Larry Rosler wrote:
: > [Posted and a courtesy copy mailed.]
: >
: > In article <3745E915.28518DD3@email.sps.mot.com> on Fri, 21 May 1999
: > 16:15:55 -0700, Mike Garcia <rp5280@email.sps.mot.com> says...
: > > I'm developing a program and there is a check I need to do for a non
: > > numeric value on a variable. Is there an easy way to do this in Perl 5?
: > > Mike
: > > begin: vcard
: > > ...
: >
: > But please don't pollute your posts with this crap in the future.
--
Tad McClellan SGML Consulting
tadmc@metronet.com Perl programming
Fort Worth, Texas
------------------------------
Date: Mon, 24 May 1999 14:59:23 -0400
From: digital kensai <kensai@nortel.com>
Subject: Re: how to create dynamic arrays
Message-Id: <3749A18B.AFB0EE11@nortel.com>
ii4@hotmail.com wrote:
> Hi,
>
> Is there a way to create arrays dynamically
> in perl?
>
> Thanks
>
> John
>
> --== Sent via Deja.com http://www.deja.com/ ==--
> ---Share what you know. Learn what you don't.---
I'm guessing another way of phrasing this question is "how do I use
perl's dynamic features with my array?" Hope this helps:
#first declare some array...
@myArray;
#now add some elements
push(@myArray, "zero");
push(@myArray, "one");
#we can see that perl dynamically adjusts the array:
print $myArray[0]; #prints "zero"
print $#myArray; #prints 1, the index of the last element of the array
------------------------------
Date: Mon, 24 May 1999 16:52:52 -0400
From: "Matt Baker" <matt@betcha.net>
Subject: jerri rigged forms instead of CGI... bad?
Message-Id: <7ice3n$i5a$1@autumn.news.rcn.net>
Hi, I am a relatively new to PERL.
I have alot of existing forms that I am adding dynamic portions to with the
help of PERL.
Really what I am doing is taking a static form and inserted an SSI which
calls a short PERL program that fills out part of the form based on data in
a file on the server.
Here is the dillema:
1) Is it bad style or normal practice to have a CGI program spit out raw
HTML to the web browser?
I know with CGI you don't have to do raw HTML but sometimes it just seems
easier to have my PERL program use HTML instead of using that annoying CGI
HTML coding.
I generally just do a
print >>EOD;
lots of HTML goes here
EOD
2) If it is better to use CGI.pm, what do you do about JScript? Does one
print out JScript as I print out HTML in question #1 or is there a macro
language that parallels JScript in the same way that CGI.pm's macro language
parallels HTML?
Thanks for your reponses....
matt
------------------------------
Date: 24 May 1999 19:23:14 GMT
From: fl_aggie@thepentagon.com (I R A Aggie)
Subject: Re: List of files in a directory?
Message-Id: <slrn7kj9uo.1hr.fl_aggie@thepentagon.com>
On Mon, 24 May 1999 16:53:41 GMT, Michel Dalle <michel.dalle@usa.net>, in
<7ic053$afc$1@xenon.inbe.net> wrote:
+ In article <7iboot$ou8$1@cronkite.cc.uga.edu>, Mike Thomas
<mthomas@arches.uga.edu> wrote:
+ >OK, is it me or have I just missed something here. I want to go to a
+ >directory then read in all the files names there. This will be used in a
+ >zip command. When I read in the files using glob or <location/*> the first
+ >file is always left out, code snipette follows;
+ So either you wait for another month until it comes around again, or
+ you grab your local Perl documentation and look up opendir, readdir
+ and closedir...
Why, exactly, is this supposed to be a useful answer?
@files=<*>; is roughly equivalent to:
opendir(DIR,'.') or die $!;
@files=grep !/^./, readdir(DIR); # <*> doesn't pickup dot-files
closedir(DIR);
Back to the orginal poster. There is a reason why <*> may not always
work -- it relies upon an underlying shell to do the dirty work of listing
the files. Last I inquired, that shell was csh. Ah, I knew I had a quote
on that..
Perl invokes /bin/csh to do the globbing. As we all know, csh is
flakier than a snow storm; it may crash for any reason, or no reason
at all.
-- HansM hansm @ wsinti07.win.tue.nl (Hans Mulder)
And there is a maximum number of files a shell can handle, roughly 1024,
but YMMV. Can you get 'ls' from a command line to work? are you using
'-w' and/or 'use strict;'?
If it is indeed a shell problem, you'll have to use the opendir,
readdir, and closedir methodology.
James
------------------------------
Date: 24 May 1999 14:27:15 -0700
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: Re: List of files in a directory?
Message-Id: <3749b623@cs.colorado.edu>
[courtesy cc of this posting mailed to cited author]
In comp.lang.perl.misc, fl_aggie@thepentagon.com writes:
:Back to the orginal poster. There is a reason why <*> may not always
:work -- it relies upon an underlying shell to do the dirty work of listing
:the files.
Fixed in the next release.
--tom
--
"Do we define evil as the absence of goodness? It seems only logical
that shit happens--we discover this by the process of elimination."
--Larry Wall
------------------------------
Date: Mon, 24 May 1999 19:16:26 GMT
From: Josh Pointer <josh@bitwell.net>
Subject: Re: Mac-specific Perl help requested - The Answer (yet another followup)
Message-Id: <3749A663.6425@bitwell.net>
Matthias Neeracher wrote:
>
> You have not come up with a compelling reason to do so.
So that data culled from non-Mac sources will behave as expected without
silly and unnecessary incantations to "tr///". That is to say, for
compatibility.
> # quoted above the MacPerl documentation's full treatment of this matter. It's
> # insufficient at best, and it reflects poorly on the developer.
> # [...]
> # PTF is to be commended for doing what they can to make up for the
> # developer's shortcomings.
> # [...]
> # Skimping on software (particularly Open Source) documentation in the hopes
> # of selling add ons is a losing proposition.
>
> Maybe it's just me, but I'd consider those statements attacks, and I find the
> insinuation in the third passage that I skimped on documentation in the hope of
> selling add ons highly insulting.
Perhaps it is just you. Perhaps it's just me. You'll find an exposition
on these counts in a recent response to Mr. Nandor. In that response, I
informed Mr. Nandor that the third comment you quote was not directed at
you or anyone in particular, and that I separated it from the main
message for the express purpose of defeating any association. I also
told Mr. Nandor that if anyone else shared his interpretation, I would
promptly offer you my humblest apologies as that would be an ugly slur,
and I do so now. I'll be certain to more carefully express myself in the
future.
> >> It was also where you asserted that MacPerl does things improperly, which is incorrect.
>
> > MacPerl's behavior deviates from Perl's. Period. The method for dealing
> > with a given text file in a given situation varies.
>
> The files that you wanted MacPerl to handle are not "text" files in the MacOS
> definition.
A pearl of useful information amidst the tempest. As I told Mssr. Nandor
and Schinder in private, it would be nice to see more of this.
> > That behavior is not documented.
This quote misrepresents my comments on the documentation, and I address
it in the same response to Mr. Nandor mentioned above. Please refer to
it.
> You quoted the sentence in the documentation which documents it. A word to the
> wise is enough, and you'll have to forgive me for identifying the wise as my
> primary target market.
I would respectfully suggest that you look within this sentence for the
same arrogance and disregard for others that you've taken me to task for
below.
> > [..] please explain to me why you and others are so off-put by the
> > notion that the variance should be documented, and that the
> > responsibility for primary documentation lies with the developer.
>
> I suppose they are just old fashioned, clinging to the antiquated belief that
> it is my prerogative to decide how I spend my time and everyone else's right to
This is a silly statement. It is in fact your prerogative to decide
precisely what you chose to do or not to. What you and your supporters
seem to fail to realize is that, if you chose to make your work public,
it becomes my prerogative to criticize it as I see fit. I find your
documentation to be lacking. The comments of your supporters fail to
address my criticism, opting instead to flame. Your comments above seem
only to confirm my suspicion that MacPerl's shortcomings are due in no
small part to a lack of respect for your users (or at least, the
unwise).
> modify the MacPerl distribution (which is open source, after all) as they see
I will restate for the nth time that I posted a revision for all who
might be interested.
> fit. You, on the other hand, have clearly grasped the modern school of open
> software thinking, where the users pontificate about the developer's
> obligations to them.
I speak of responsibility, not obligation. You seem to equate the two,
which speaks volumes.
> Matthias
If nothing else, at least I now know that it's not just a case of
overenthusiastic supporters. It's systemic.
Josh Pointer
josh@bitwell.net
------------------------------
Date: Mon, 24 May 1999 20:10:36 GMT
From: pudge@pobox.com (Chris Nandor)
Subject: Re: Mac-specific Perl help requested - The Answer (yet another followup)
Message-Id: <pudge-2405991610350001@192.168.0.77>
In article <3749A663.6425@bitwell.net>, josh@bitwell.net wrote:
# It is in fact your prerogative to decide
# precisely what you chose to do or not to. What you and your supporters
# seem to fail to realize is that, if you chose to make your work public,
# it becomes my prerogative to criticize it as I see fit.
Yes, you do have the right to be an ass. No one can stop you. You can
put down anyone you want for any reason, you can expect the unexpected,
assume the unassumable. You can accuse people without cause for lacking
respect and shirking responsibility. You can do anything you want to.
The Golden Rule of free software efforts is to never, ever, ever put
someone down for not doing something. If you pay someone to write
documentation, fine, then you can criticize that person. If you want to
say MacPerl is lacking because of documentation, well, I would disagree,
but fine, say that. But when you start putting down an individual who
gave his free time away for not doing something you think should have been
done, then you have crossed the line.
And that's the long and short of it.
--
Chris Nandor mailto:pudge@pobox.com http://pudge.net/
%PGPKey = ('B76E72AD', [1024, '0824090B CE73CA10 1FF77F13 8180B6B6'])
------------------------------
Date: Mon, 24 May 1999 22:36:15 +0200
From: jan.dubois@ibm.net (Jan Dubois)
Subject: Re: Object Copy constructor?
Message-Id: <374eb2a1.135638447@news3.ibm.net>
[mailed & posted]
"Dave Roth" <xrxoxtxhxdx@xrxoxtxhx.xnxextx> wrote:
>SO THE QUESTION is... when $Obj is passed into ProcessMyObject() is there
>some way to trap the copying of the object so that the extension can
>create a copy of the C++ object? In C++ parlance a copy constructor would
>suffice.
>I have seen that the overload module allows you to overload the = function.
>This is *almost* what I am looking for -- unless pushing $Obj onto the stack
>to be passed into ProcessMyObject() invokes the = function (which would be
>cool).
I think something else must be going on. AFAIK Perl *never* copies objects
by value. It only ever creates a new reference to the same object. If you
want a copy then you must provide a copy constructor yourself:
my $CopyObj = $Obj->copy;
Look at this:
---------------------------------------
use strict;
use Devel::Peek;
sub Foo {
my $copy = shift;
Dump $copy;
}
my $obj = bless {} => 'MyClass';
Dump $obj;
Foo($obj);
---------------------------------------
SV = RV(0x30e0fc) at 0x3074a0
REFCNT = 1
FLAGS = (PADBUSY,PADMY,ROK)
RV = 0x30164c
SV = PVHV(0x429170) at 0x30164c
REFCNT = 1
FLAGS = (OBJECT,SHAREKEYS)
IV = 0
NV = 0
STASH = 0x306b60 "MyClass"
ARRAY = 0x0
KEYS = 0
FILL = 0
MAX = 7
RITER = -1
EITER = 0x0
SV = RV(0x30e0f0) at 0x307458
REFCNT = 1
FLAGS = (PADBUSY,PADMY,ROK)
RV = 0x30164c
SV = PVHV(0x429170) at 0x30164c
REFCNT = 2
FLAGS = (OBJECT,SHAREKEYS)
IV = 0
NV = 0
STASH = 0x306b60 "MyClass"
ARRAY = 0x42a860
KEYS = 0
FILL = 0
MAX = 7
RITER = -1
EITER = 0x0
---------------------------------------
So $copy is indeed a new RV, but it points to the same old blessed hash. It
now has a reference count of 2. The refcount goes back to 1 when Foo()
terminates and $copy gets deleted.
I would think that you might be calling some other XS type function in your
code which messes up the objects's refcount. If your refcount is too low,
then the return from the function might actually trigger the destruction of
the object. This should not happen in pure Perl code but only with broken XS
code.
-Jan
------------------------------
Date: Mon, 24 May 1999 14:41:57 -0400
From: digital kensai <kensai@nortel.com>
To: kensai@bellsouth.net, kensai@nortel.com
Subject: ooPerl is harder than it looks
Message-Id: <37499D75.237F0EF4@nortel.com>
I've used CGI, Tk, and others abit, and using objects is easy. So, I
want to
build a class of my own, for use in solving extremely large sliding
puzzles
(I spent the weekend walking through the A* solution, which is
definitely too
slow for a large board). Somewhere in my implimentation are some
errors. I was hoping to get some object guru to look this over and let
me know what things I want to change to get the functionality I want.
The class needs to work like this:
$board = Sboard->new($rows, $columns);
$piece = $board->new($prow, $pcolumn, $piecenum);
#where the destination row for $piece is $piecenum/($rows*$columns)
#& the destination column for $piece is $piecenuum%($rows*$columns),
($irow, $icolumn) = $piece->ideals;
if($irow < $row){ # MOVE UP ... assume for this example, this is true
$piece->move($piece->row-1, $piece->column);
}
#now later in the code I need to know what piecenum is in position
#$row-1, $column...
$piece_inquestion = $board->whosat($row-1, $column); # should return
$piece
So, I need to have an object constructor, like:
###
sub new{
my $proto = shift;
my $class = ref($proto) || $proto;
my $self = { "row" => shift, "column" => shift };
(@_)? $self->_configurePiece(@_): $self->_configureBoard;
bless $self, $class;
return $self;
}
###
...and the constructor must be able to configure the class:
###
sub _configureBoard{
my $self = shift;
#other configurations could be done here, which is why I seperate it
from
#_rowsByColumns
&Sboard->_rowsByColumns($self->row * $self->column);
}
sub _rowsByColumns{
shift;
$Sboard::_rowsByColumns = shift if (@_);
return $Sboard::rowsByColumns;
}
###
...as well as the objects
###
sub _configurePiece{
my $self = shift;
my ($row, $column, $piecenum) = ($self->row, $self->column, shift);
my $class = ref($self);
my $size = $class->_rowsByColumns;
$class->_register($row, $column, $piecenum);
$self->irow($piecenum/$size);
$self->icolumn($piecenum%$size);
$self->num($piecenum);
}
# this function's job is to keep track of which piecenum resides on
which
#row/column intersection
sub _register{
my $ref = shift;
my ($row, $column, $piecenum) = @_;
my $member;
$member = &Sboard::_board($row, $column);
$member->piece($piece) if($piecenum);
return $member->piece;
}
sub _board{
my ($row, $column) = @_;
my $id = $row * $column;
$id = "p$id";
if($Sboard::$id){
return $Sboard::$id;
}else{
return bless $Sboard::$id;
}}
sub piece{
my $self = shift;
$self->{"piece"} = shift if (@_);
return $self->{"piece"};
}
###
...finally there are the member methods:
###
sub whosat{
my $self = shift;
my $class = ref($self);
return $class::_board($row, $column);
}
sub num{
my $self = shift;
$self->{"num"} = shift if (@_);
return $self->{"num"};
}
sub pos{
my $self = shift;
return $self->row, $self->column;
}
sub ideals{
my $self = shift;
return $self->irow, $self->icolumn;
}
sub irow{
my $self = shift;
$self->{"irow"} = shift if(@_);
return $self->{"irow"};
}
sub icolumn{
my $self = shift;
$self->{"icolumn"} = shift if(@_);
return $self->{"icolumn"};
}
------------------------------
Date: Mon, 24 May 1999 21:42:00 +0100
From: "Tim Shapcott" <tim.shapcott@NOSPAMvirgin.net>
Subject: Problems with a guestbook entry script
Message-Id: <7icdll$3l2$1@nclient5-gui.server.virgin.net>
Hi
I am treading very carefully here, because i tried to ask the same question
a few days ago, but made the mistake of posting the script as an attachment.
I hope i haven't offended anyone so much that they won't help me!
Anyway, my problem is, that whenever i try to call the script, i get an
internal server error mesage. It's nothing to do with the server; perl on it
runs fine on another script i have there. It must be the script.
The script _should_ take info from a HTML form, and then display a thankyou
screen if the data is OK, and the relevant screen for an email address error
etc. The form data should be posted onto a guestbook page.
The only possible problem i can see is that the script is located on a
different server to the page the data is supposed to be saved to. It could
be that there are problems with permissions? If so, how can i get around
this, using a password or other?
If anyone could help me, i would be very grateful.
Thanks
Tim Shapcott
----------------------
#!/usr/bin/perl
$directory_gbook = "http://www.moreno-band.freeserve.co.uk/guestsv.html";
$guestbook = "http://www.moreno-band.freeserve.co.uk/guestsv.html";
$cgi = "http://thor.prohosting.com/~nmoreno/cgi-bin/guest.cgi";
$base = "http://www.moreno-band.freeserve.co.uk/";
$background = "http://www.moreno-band.freeserve.co.uk/background.jpg";
############################################################
$entry = 1;
$allow = 1;
$date_command = "/usr/bin/date";
############################################################
$date = `$date_command +"%B %d, %Y"`; chop($date);
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
if ($allow != 1) {
$value =~ s/<([^>]|\n)*>//g;
}
$FORM{$name} = $value;
}
########
#Checks to see that the comments, name and e-mail address were added!
&no_comments unless $FORM{'message'};
&no_name unless $FORM{'name'};
&no_email unless $FORM{'email'};
######
#Checks to see if the E-mail address is in the normal form
if (&email_check($FORM{'email'})) {
}
else {
&no_email;
}
#######
#Opens 'guestsv.html' for writing
open (FILE,"$directory_gbook") || die "Can't Open $directory_gbook: $!\n";
@LINES=<FILE>;
close(FILE);
$SIZE=@LINES;
# Open Link File to Output
open (GUEST,">$directory_gbook") || die "Can't Open $directory_gbook: $!\n";
for ($i=0;$i<=$SIZE;$i++) {
$_=$LINES[$i];
if (/<!--add-->/) {
if ($entry eq '1') {
print GUEST "<p></p>\n";
}
print GUEST "<table border=4>\n";
if ($FORM{'name'}) {
print GUEST "<tr valign=top><td width=\"20%\"><h3>Name</h3></td> <td
width=\"80%\"><b>$FORM{'name'} - $date</b></td></tr>\n";
}
if ($FORM{'email'}) {
print GUEST "<tr valign=\"top\"><td><h3>Email Address</h3></td>
<td><b><a
href=\"mailto:$FORM{'email'}\">$FORM{'email'}</a></b></td></tr>\n";
}
if ($FORM{'url'} ne "http://") {
print GUEST "<tr valign=\"top\"><td><h3>Homepage</h3></td> <td><b><a
href=\"$FORM{'url'}\">$FORM{'url'}</a></b></td></tr>\n";
}
if ($FORM{'howfind'} ){
print GUEST "<tr valign=\"top\"><td><h3>How you found the site</h3></td>
<td><b>$FORM{'howfind'}</b></td></tr>\n";
}
if ($FORM{'message'} ){
print GUEST "<tr valign=top><td><h3>Message</h3></td>
<td><b>$FORM{'message'}</b></td></tr>\n";
print GUEST "</table>\n";
if ($entry eq '0') {
print GUEST "<!--add->\n";
}
}
else {
print GUEST $_;
}
}
}
close (GUEST);
##############
# Print Thank You HTML
print "Content-Type: text/html\n\n";
print "<html>\n";
print "<title>Thank You</title>\n";
print "<body bgcolor=\"#FFFFFF\" background=\"$background\"
bgproperties=\"fixed\">\n";
print "<h1 align=\"center\">Thankyou $FORM{'name'}!<br>\n";
print "Your entry has been added to our";
print "<a href=\"$guestbook\"> guestbook.</A>\n";
print "Here is what you submitted:<p>\n";
if ( $FORM{'name'}) {
print "<b>Name:</b> $FORM{'name'} - $date<br>\n";
}
if ($FORM{'email'}) {
print "<b>My E-mail:</b> <a href=\"mailto:$FORM{'email'}\">
$FORM{'email'}</a><br>\n";
}
if ($FORM{'url'} ne "http://") {
print "<b>My URL:</b> <a href=\"$FORM{'url'}\">$FORM{'url'}</a><br>\n";
}
if ($FORM{'howfind'}) {
print "<b>How you found the site:</b> $FORM{'howfind'}<br>\n"
}
else {
}
print "<BR><BR><B>Comments:</B>\n";
print "$FORM{'message'}<BR>\n";
print "</body></html>\n";
exit;
#######################
# Subroutines
sub no_name {
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<TITLE>No Name</TITLE>\n";
print "<body bgcolor=\"#FFFFFF\" background=\"$background\"
bgproperties=\"fixed\">\n";
print "<h1 align=\"center\">No Name</h1>\n";
print "<p>You forgot to fill in your Name. We need this in order to\n";
print "process your entry. Please add your name in the blank below.</p>\n";
print "<p><TABLE CELLSPACING=3 CELLPADDING=2>\n";
print "<FORM METHOD=POST ACTION=\"$cgi\">\n";
print "<TR><TD><B>Name:</B></TD><TD><INPUT TYPE=TEXT NAME=\"name\" ";
print "SIZE=50></TD></TR>\n";
print "<TR><TD><B>E-Mail:</B></TD><TD><INPUT TYPE=TEXT NAME=\"email\" ";
print "VALUE=\"$FORM{'email'}\" SIZE=50></TD></TR>\n";
print "<TR><TD><B>URL:</B></TD><TD><INPUT TYPE=TEXT NAME=\"url\" ";
print "VALUE=\"$FORM{'url'}\" SIZE=50></TD></TR>\n";
print "<TR><TD><B>How you found the site</B></TD><TD><INPUT TYPE=TEXT
NAME=\"howfind\" ";
print "VALUE=\"$FORM{'howfind'}\" SIZE=15>\n";
print " ";
print "<TR><TD><B>Message</B></TD><TD>Comments are stored and saved";
print "<INPUT TYPE=HIDDEN NAME=\"message\" ";
print "VALUE=\"$FORM{'message'}\"></TD></TR>\n";
print "<TR><TD> </TD><TD></TD></TR>\n";
print "<center>\n";
print "<input type=\"submit\" name=\"submit\" value=\"Re-submit
Entry\">\n";
print "</center>\n";
print "</TABLE>\n";
print "</FORM>\n";
print "</BODY></HTML>\n";
exit;
}
sub no_email {
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<TITLE>No E-Mail</TITLE>\n";
print "<body bgcolor=\"#FFFFFF\" background=\"$background\"
bgproperties=\"fixed\">\n";
print "<h1 align=\"center"\>No Email</h1><BR>\n";
print "You forgot to fill in your E-mail address or the e-mail addres you
added\n";
print "is invalid. We need this in order to\n";
print "process your entry. Please add your E-mail in the blank
below.<p>\n";
print "<TABLE CELLSPACING=3 CELLPADDING=2>\n";
print "<FORM METHOD=POST ACTION=\"$cgi\">\n";
print "<TR><TD><B>Name:</B></TD><TD><INPUT TYPE=TEXT NAME=\"name\"
VALUE=\"$FORM{'name'}\" ";
print "SIZE=50></TD></TR>\n";
print "<TR><TD><B>E-Mail:</B></TD><TD><INPUT TYPE=TEXT NAME=\"email\" ";
print "VALUE=\"$FORM{'email'}\" SIZE=50></TD></TR>\n";
print "<TR><TD><B>URL:</B></TD><TD><INPUT TYPE=TEXT NAME=\"url\" ";
print "VALUE=\"$FORM{'url'}\" SIZE=50></TD></TR>\n";
print "<TR><TD><B>How you found us:</B></TD><TD><INPUT TYPE=TEXT
NAME=\"howfind\" ";
print "VALUE=\"$FORM{'howfind'}\" SIZE=15>\n";
print " ";
print "<TR><TD><B>Comments:</B></TD><TD>Comments are stored and saved";
print "<INPUT TYPE=HIDDEN NAME=\"comments\" ";
print "VALUE=\"$FORM{'comments'}\"></TD></TR>\n";
print "<TR><TD> </TD><TD></TD></TR>\n";
print "<center>\n";
print "<input type=\"submit\" name=\"submit\" value=\"Re-submit
Entry\">\n";
print "</center>\n";
print "</TABLE>\n";
print "</FORM>\n";
print "</BODY></HTML>\n";
exit;
}
sub no_comments {
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<TITLE>No Comments</TITLE>\n";
print "<body bgcolor=\"#FFFFFF\" background=\"$background\"
bgproperties=\"fixed\">\n";
print "<h1 align=center>No Comments</h1><BR>\n";
print "You forgot to fill in your Message. We need this in order to\n";
print "process your entry. Please add a comment in the blank below.<p>\n";
print "<TABLE CELLSPACING=3 CELLPADDING=2>\n";
print "<FORM METHOD=POST ACTION=\"$cgi\">\n";
print "<TR><TD><B>Name:</B></TD><TD><INPUT TYPE=TEXT NAME=\"name\" ";
print "VALUE=\"$FORM{'name'}\" SIZE=50></TD></TR>\n";
print "<TR><TD><B>E-Mail:</B></TD><TD><INPUT TYPE=TEXT NAME=\"email\" ";
print "VALUE=\"$FORM{'email'}\" SIZE=50></TD></TR>\n";
print "<TR><TD><B>URL:</B></TD><TD><INPUT TYPE=TEXT NAME=\"url\" ";
print "VALUE=\"$FORM{'url'}\" SIZE=50></TD></TR>\n";
print "<TR><TD><B>How you found us:</B></TD><TD><INPUT TYPE=TEXT
NAME=\"howfind\" ";
print "VALUE=\"$FORM{'howfind'}\" SIZE=15>\n";
print " ";
print "<TR><TD><B>Comments:</B></TD><TD><TEXTAREA NAME=\"comments\" ";
print "COLS=50 ROWS=7></TEXTAREA><p>\n";
print "<TR><TD> </TD><TD></TD></TR>\n";
print "<center>\n";
print "<input type=\"submit\" name=\"submit\" value=\"Re-submit
Entry\">\n";
print "</center>\n";
print "</TABLE>\n";
print "</FORM>\n";
print "\n</BODY></HTML>\n";
exit;
}
sub email_check {
local($emails) = $_[0];
if ($emails =~ /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(\.$)/ ||
($emails !~ /^.+\@localhost$/ &&
$emails !~ /^.+\@\[?(\w|[-.])+\.[a-zA-Z]{2,3}|[0-9]{1,3}\]?$/)) {
return(0);
}
else {
return(1);
}
}
1;
------------------------------
Date: Mon, 24 May 1999 21:00:18 GMT
From: michel.dalle@usa.net (Michel Dalle)
Subject: Re: Problems with a guestbook entry script
Message-Id: <7iceje$l07$2@xenon.inbe.net>
In article <7icdll$3l2$1@nclient5-gui.server.virgin.net>, "Tim Shapcott" <tim.shapcott@NOSPAMvirgin.net> wrote:
>Hi
[snip]
>Anyway, my problem is, that whenever i try to call the script, i get an
>internal server error mesage. It's nothing to do with the server; perl on it
>runs fine on another script i have there. It must be the script.
>
>The script _should_ take info from a HTML form, and then display a thankyou
>screen if the data is OK, and the relevant screen for an email address error
>etc. The form data should be posted onto a guestbook page.
>
>The only possible problem i can see is that the script is located on a
>different server to the page the data is supposed to be saved to. It could
>be that there are problems with permissions? If so, how can i get around
>this, using a password or other?
Oh yes, that's a winner ! :-)
[snip]
>$directory_gbook = "http://www.moreno-band.freeserve.co.uk/guestsv.html";
..
>open (FILE,"$directory_gbook") || die "Can't Open $directory_gbook: $!\n";
This will only work with LOCAL files. So if your 'guestsv.html' file is
located on the same server (or accessible via a network drive), you
should specify :
$directory_gbook = "/some_path_to/guestsv.html";
If not, well, I'd recommend rethinking your approach here, because you're
asking for a lot of (potential) problems. What if the remote server is not
accessible (for any reason) ?
Anyway, I'd strongly recommend that you stick to local files (and
have a look at the 'flock' function in Perl to avoid overwriting your file).
Good luck,
Michel.
------------------------------
Date: Tue, 25 May 1999 08:28:24 +1200
From: Me <aghaeim@genesis.co.nz>
Subject: Re: regexp question
Message-Id: <3749B668.EFFDAE48@genesis.co.nz>
Bryan Camp wrote:
>
> Hello,
>
> I'm having problems getting a regexp to work.
>
> I'm reading in a data file with the following format:
>
> 999-999 RES SRC1=A120C65000000_CR08|NAME1 SRC2=A120C65000001_CR08|NAME2
> 999-998 RES SRC1=A120C65000002_CCC1|NAME3
> 999-997 CAP SRC1=A120C65000009_FAL4|NAME4 SRC2=_CRTY|NAME5
>
> What I want to do is get rid of everything between
> the = sign and the underscore sign, which can occur
> multiple times in the same line:
>
> 999-999 RES SRC1=_CR08|NAME1 SRC2=_CR08|NAME2
> 999-998 RES SRC1=_CCC1|NAME3
> 999-997 CAP SRC1=_FAL4|NAME4 SRC2=_CRTY|NAME5
>
> Here is what I have so far:
>
> #!usr/bin/perl -w
> open (FH, "+< $file");
> while(<FH>){
> $sub =~ ( s/(/\b=\+_\b/)/g )
> }
> close (FH);
>
> Can someone tell me what I'm doing wrong?
>
> Thank you very much.
>
> Bryan
I guess the correct form of what you mean is :
$sub =~ s/\b\=.*\_\b//g ; or even $sub=~ s/(=.*\_)//g ;
--
---------------------------------------------------------------------
Protect privacy, boycott Intel PIII: http://www.bigbrotherinside.org
---------------------------------------------------------------------
------------------------------
Date: Mon, 24 May 1999 20:18:00 GMT
From: garthwebb@my-dejanews.com
Subject: Re: regexp question
Message-Id: <7icc5l$gmr$1@nnrp1.deja.com>
> #!usr/bin/perl -w
> open (FH, "+< $file");
> while(<FH>){
> $sub =~ ( s/(/\b=\+_\b/)/g )
> }
> close (FH);
Bryan, there are several things syntactically wrong with this code
snippet, but since you're attending my alma matter, I'll give you a hint
rather than refer you only to perldoc :). In the future, make sure you
code at least compiles before posting, otherwise not many people will
even bother to help. Code that does not compile implies that the person
who wrote it didn't try anything first before posting to the group (this
group should be a last resort, not a first resort).
The problems:
1) Your shebang line needs a leading '/'
#!/usr/bin/perl -w
2) $file is not set anywhere, maybe you want as you second line:
my $file = $ARGV[0];
3) Your regex has too many problems to identify. Please read 'perldoc
perlre' several times.
Try this:
#!/usr/bin/perl -w
use strict;
my $file = $ARGV[0];
open(FH, "+<$file") or die "Can't open '$file' for read/write: $!\n";
while (<FH>) {
s%=[^_]+_%=_%g;
print;
}
close(FH);
Good luck,
Garth
--== Sent via Deja.com http://www.deja.com/ ==--
---Share what you know. Learn what you don't.---
------------------------------
Date: Mon, 24 May 1999 11:41:12 -0400
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: regexp question
Message-Id: <ourbi7.mcj.ln@magna.metronet.com>
Bryan Camp (b-camp@students.uiuc.edu) wrote:
: What I want to do is get rid of everything between
: the = sign and the underscore sign, which can occur
: multiple times in the same line:
: 999-999 RES SRC1=_CR08|NAME1 SRC2=_CR08|NAME2
: 999-998 RES SRC1=_CCC1|NAME3
: 999-997 CAP SRC1=_FAL4|NAME4 SRC2=_CRTY|NAME5
: Here is what I have so far:
: #!usr/bin/perl -w
-w is good. Very Good.
Now you need to add the 'use strict;' pragma to get even more
help finding your mistakes.
: open (FH, "+< $file");
You should always, yes always, check the return value from open() calls:
open (FH, "+< $file") || die "could not open '$file' $!";
: while(<FH>){
: $sub =~ ( s/(/\b=\+_\b/)/g )
: }
: close (FH);
: Can someone tell me what I'm doing wrong?
Sorry, I cannot tell you what you are doing wrong, because
I cannot figure what you thought your code would do.
It has 4 or 5 mistakes and I can't unravel them all, but
here's some:
$sub has never been given a value
you have too many //// in your s///
I dunno what either set of parenthesis is meant to do.
...
I can, however, offer a way that compiles, runs, and produces
the output as you gave above:
-----------------------
#!/usr/bin/perl -w
use strict;
while (<DATA>) {
$_ =~ s/=[^_]*_/=_/g;
print;
}
__DATA__
999-999 RES SRC1=A120C65000000_CR08|NAME1 SRC2=A120C65000001_CR08|NAME2
999-998 RES SRC1=A120C65000002_CCC1|NAME3
999-997 CAP SRC1=A120C65000009_FAL4|NAME4 SRC2=_CRTY|NAME5
-----------------------
--
Tad McClellan SGML Consulting
tadmc@metronet.com Perl programming
Fort Worth, Texas
------------------------------
Date: Mon, 24 May 1999 20:56:22 GMT
From: Rick Delaney <rick.delaney@home.com>
Subject: Re: regexp question
Message-Id: <3749BCA6.1CFDCE79@home.com>
[posted & mailed]
Me wrote:
>
> Bryan Camp wrote:
> >
[have:]
> > 999-997 CAP SRC1=A120C65000009_FAL4|NAME4 SRC2=_CRTY|NAME5
[want:]
> > 999-997 CAP SRC1=_FAL4|NAME4 SRC2=_CRTY|NAME5
> >
>
> I guess the correct form of what you mean is :
> $sub =~ s/\b\=.*\_\b//g ; or even $sub=~ s/(=.*\_)//g ;
Please test your code before giving wrong answers. Then at least you
can say, "I tried this but it doesn't do what you want." :-)
Your second attempt will result in the string
999-997 CAP SRC1CRTY|NAME5
for the above data. This is because .* is greedy and will match up to
the last "_". It is easy to make non-greedy. Also, the "=" and "_"
shouldn't be deleted from the string. Please see the other post in this
thread.
Your first attempt will fail to match entirely since there are no word
boundaries after the underscore. And there is no need for so many
backwhacks.
perldoc perlre
--
Rick Delaney
rick.delaney@home.com
------------------------------
Date: Mon, 24 May 1999 18:57:10 GMT
From: johnpaddyregan@my-dejanews.com
Subject: Searching for a \ in string
Message-Id: <7ic7e6$d4m$1@nnrp1.deja.com>
Yes I know this is probably really obvious but
here goes ...
I am trying to search for B\/$in a string and
replace it with another value. Of course PERL
uses \ itself. How do I override PERL to tell it
that I want to search for B\ ???
The command I am using is -
$file=~s/B\/TextToReplace/g;
Thanks in Advance
John
--== Sent via Deja.com http://www.deja.com/ ==--
---Share what you know. Learn what you don't.---
------------------------------
Date: Mon, 24 May 1999 20:29:49 +0100
From: "Tony Kenny" <tony@emailcyberscape.net>
Subject: Re: Searching for a \ in string
Message-Id: <927574253.16769.0.nnrp-13.c2de1237@news.demon.co.uk>
Escape the \ use \\
So: $file=~s/B\\/TextToReplace/g;
Tony
<johnpaddyregan@my-dejanews.com> wrote in message
news:7ic7e6$d4m$1@nnrp1.deja.com...
> Yes I know this is probably really obvious but
> here goes ...
>
>
> I am trying to search for B\/$in a string and
> replace it with another value. Of course PERL
> uses \ itself. How do I override PERL to tell it
> that I want to search for B\ ???
>
> The command I am using is -
>
> $file=~s/B\/TextToReplace/g;
>
> Thanks in Advance
>
> John
>
>
> --== Sent via Deja.com http://www.deja.com/ ==--
> ---Share what you know. Learn what you don't.---
------------------------------
Date: Mon, 24 May 1999 20:48:41 +0200
From: Marc Dietrich <marc.dietrich@physik.uni-giessen.de>
Subject: Re: undef of namespaces
Message-Id: <37499F09.63EC7F56@physik.uni-giessen.de>
Hello to all,
I thought perl is a relativ secure language...
I depend on the namespaces because I'm using the CGI module which
imports variables in its own namespace. Importing a new dataset requires
deleting the old one.
I'm going to use the hint of Anno (thanks to you) for now. Perhaps some
developers should take a look at this problem in future versions of
perl.
greetings
Marc
------------------------------
Date: 24 May 1999 14:25:13 -0700
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: Re: undef of namespaces
Message-Id: <3749b5a9@cs.colorado.edu>
[courtesy cc of this posting mailed to cited author]
In comp.lang.perl.misc,
Marc Dietrich <marc.dietrich@physik.uni-giessen.de> writes:
:I thought perl is a relativ secure language...
You say "secure". I do not think that that word means what you
think it means.
:I depend on the namespaces because I'm using the CGI module which
:imports variables in its own namespace.
That's hardly an optimal situation.
:Importing a new dataset requires
:deleting the old one.
Excuse me? Use the OO interface then, not the import_names("PackName")
thing.
:I'm going to use the hint of Anno (thanks to you) for now. Perhaps some
:developers should take a look at this problem in future versions of
:perl.
I see no problem.
--tom
--
MS-DOS is a Neanderthal operating system -- Henry Spencer
------------------------------
Date: 12 Dec 98 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Special: Digest Administrivia (Last modified: 12 Dec 98)
Message-Id: <null>
Administrivia:
Well, after 6 months, here's the answer to the quiz: what do we do about
comp.lang.perl.moderated. Answer: nothing.
]From: Russ Allbery <rra@stanford.edu>
]Date: 21 Sep 1998 19:53:43 -0700
]Subject: comp.lang.perl.moderated available via e-mail
]
]It is possible to subscribe to comp.lang.perl.moderated as a mailing list.
]To do so, send mail to majordomo@eyrie.org with "subscribe clpm" in the
]body. Majordomo will then send you instructions on how to confirm your
]subscription. This is provided as a general service for those people who
]cannot receive the newsgroup for whatever reason or who just prefer to
]receive messages via e-mail.
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.misc (and this Digest), send your
article to perl-users@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.
The Meta-FAQ, an article containing information about the FAQ, is
available by requesting "send perl-users meta-faq". The real FAQ, as it
appeared last in the newsgroup, can be retrieved with the request "send
perl-users FAQ". Due to their sizes, neither the Meta-FAQ nor the FAQ
are included in the digest.
The "mini-FAQ", which is an updated version of the Meta-FAQ, is
available by requesting "send perl-users mini-faq". It appears twice
weekly in the group, but is not distributed in the digest.
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 V8 Issue 5766
**************************************