[10500] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 4092 Volume: 8

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Wed Oct 28 11:05:51 1998

Date: Wed, 28 Oct 98 08:01:32 -0800
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Wed, 28 Oct 1998     Volume: 8 Number: 4092

Today's topics:
    Re: persistent variables ? <r28629@email.sps.mot.com>
    Re: persistent variables ? (Anita M Wilcox)
    Re: persistent variables ? (Karlon West)
    Re: persistent variables ? <webmaster@fccj.org>
        Question from one month old <shinobu@huntertravel.net>
    Re: Reg. expr. question <alexb@sig.net>
    Re: Reg. expr. question <r28629@email.sps.mot.com>
    Re: Reg. expr. question (Larry Rosler)
        Set Operators. <stuart@ludwig.ucl.NO_JUNK.ac.uk>
    Re: socket connection via udp (Daniel Beckham)
    Re: Subroutine question <spurkis@engsoc.carleton.ca>
    Re: system() function on PERL for Win32 (Larry Rosler)
    Re: The point of curly braces (John Klassa)
    Re: Which Perl for WIN NT server w IIS (Anita M Wilcox)
        Special: Digest Administrivia (Last modified: 12 Mar 98 (Perl-Users-Digest Admin)

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

Date: Wed, 28 Oct 1998 07:50:26 -0600
From: Tk Soh <r28629@email.sps.mot.com>
To: _Paul Coleman <Paul.Coleman@CoSeCo.com>
Subject: Re: persistent variables ?
Message-Id: <36372122.A1C8ED26@email.sps.mot.com>

_Paul Coleman wrote:
> 
> Because this is a Perl newsgroup.  What else would I be talking about?
> 

If you have been following this newsgroup, you should the degree of
contamination of this newsgroup by questions like "when can I find GNU
zip?", "how do I do this for my webpages", just to name a few.

My apology if I have made the wrong assumption, but it was the only
assumption base on you post. Perhaps next time you should be more
precise on your question.

As an excercise, keep on reading this ng for 2 weeks, then tell us if
you still think your original post was Perl specific.

-tk


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

Date: Wed, 28 Oct 1998 14:27:25 GMT
From: amw@world.std.com (Anita M Wilcox)
Subject: Re: persistent variables ?
Message-Id: <F1JK5p.MyL@world.std.com>

In article <36365962.0@news3.paonline.com>,
_Paul Coleman <Paul.Coleman@CoSeCo.com> wrote:
>Hi Daniel,
>I can only relate this to Microsoft ASP.  It seems to have provoked a mean
>streak in the group.  The Session and Application Object provide a way to

Yes, this group does seem to be hostile to anything Web/CGI related, even 
when it is very relevant to Perl.  Maybe there were just too many newbies
asking the same old questions.  I certainly find your question relevant.
It is a question about a particular application of Perl and not a newbie
CGI question.  It's the kind of thing that most newbies wouldn't have
progressed far enough to even know to ask.

>save data on the server so that other pages that come from that site can
>retrieve the saved data.  The scope of the data is different in each of the
>objects.  Obviously the longer scope Session object would have to be used
>judiciously.  In concept, it is similar to a cookie but on the server and a
>predefined shorter scope or duration.  If I were to write such an

I have not seen such a package myself, and have resorted to other means
to save state/persistent data (databases, flat files, etc.) If you happen
to find one, please share it. 

Anita
(who often writes real-world complex applications in Perl that just
happen to be web-enabled :-)





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

Date: 28 Oct 1998 14:23:42 GMT
From: karlon@bnr.ca (Karlon West)
Subject: Re: persistent variables ?
Message-Id: <7179de$6qi@crchh14.bnr.ca>

_Paul Coleman (Paul.Coleman@CoSeCo.com) wrote:
> Because this is a Perl newsgroup.  What else would I be talking about?

> Tk Soh wrote in message <363660CA.BB74F2EB@email.sps.mot.com>...
> >_Paul Coleman wrote:
> >
> >> I think you don't understand my question.  I am asking a question that is
> >> specific to Perl.  In Microsoft's ASP, two objects are provided as part
> of
> >
> >This is your original post:
> >-----------------------------------
> >Hi,
> >Is there a way to have persistent variables (or information) across Web
> >Pages?
> >Paul Coleman
> >-----------------------------------
> >
> >Which part of you question is so specific to Perl, s/variables/Perl/ ?
> >Well, maybe I should give up Perl and learn French instead.
> >
> >Microsoft ASP??? Perl???

Paul,

   Maybe this will help:

>From perlfaq4:

   Q. How do I keep persistent data across program calls?

   A. For some specific applications, you can use one of the DBM
      modules.  See the AnyDBM_File manpage.  More generically, you
      should consult the FreezeThaw, Storable, or Class::Eroot modules
      from CPAN.




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

Date: Wed, 28 Oct 1998 10:47:04 -0500
From: "Bill Jones, FCCJ Webmaster" <webmaster@fccj.org>
Subject: Re: persistent variables ?
Message-Id: <36373C78.A20BD1BC@fccj.org>

_Paul Coleman wrote:
> 
> Hi Alastair,
> I am familiar with the CGI module and it does not provide the functions I am
> looking for.  I can't see how hidden form field could solve the problem
> unless you are suggesting that I pass the Data via a form to the next Web
> Page.   This is not what I am asking about.  I am trying not to pass all of
> that data back and forth.  It would be a smaller burden on the net if it
> stayed on the server and was picket up by the next page.
> I wold think that a question about Perl, even if it involve CGI, HTML or
> anything else would ok to post on a Perl newsgroup if it was about Perl.
> Thanks again,
> Paul Coleman
> 
> Alastair wrote in message ...
> >
> >Yes, that's the basic reason. People seem to think any 'web' or 'cgi' or
> 'html'
> >question can be asked in a Perl newsgroup. Your question has all the
> hallmarks
> >of such. Perhaps this might help - look at the CGI module and perhaps
> 'hidden'
> >form fields ...
> >


Hmmm, Something like:

#............................................................................
sub verifySessionID {
        my($encryptBIT, $profsID, $realFN, $realLN, $prjSec, $prjComment) =
'';
        chdir($Sessions) or &ioError("vsID Directory, CD");

        my($xMatched) = 0;

        # What Sessions are currently active?
        opendir TARGETDIR, "." or &ioError("vsID Directory, Read");
        my(@allfiles) = grep !/^\./, readdir TARGETDIR;
        closedir TARGETDIR;

        if (!@allfiles && !$xAuthenticated) {
            $ercType = "FATAL:";
            $buffer = "Security Violation Detected... " . remote_addr();
            $ercCode = "<P><H2>Session ID Missing -- Do not try to
break-in!</H2>";
            $fccjPointer->delete('flipBit');
            &errorReturned($ercType, $buffer, $ercCode);
        }

        if ($xAuthenticated) {
            my($newSessionID)  = '';

            # One Session ID File per Remote Addr and UserID, 
            # if there is a dup, previous Session is destroyed...
            # This is our first time thru this Script...
            $xMatched = 1;  # We matched; because this is a new user...
            $newSessionID = remote_addr() . ".FCCJ." . $usrID;
            open (sessionHandle, "+>$newSessionID") or &ioError("vsID \(1\) 
File Create"); 
# Create a NEW file, over-writing the OLD one...
            print sessionHandle (remote_addr() . "\|$usrID\|$flipBit\n");
            close (sessionHandle);
            print "<strong><font size=+1>&nbsp;Done!</font></strong>";
            return;
        } elsif (@allfiles) {

            my($newSesID)  = '.';
            my($x) = -1;

            for (@allfiles) {

                $x++; # Let us start at 0, then increment...
                # Now, we will need to read the file contents...
                open (sHandle, $allfiles[$x]) or &ioError("vsID \(1\) File
Read");

                while ($newSesID = <sHandle>) {
                    chomp($newSesID); # Get rid of CR at end-of-line...
                    my($remoteAddr, $remoteUsrID, $remoteSessionID) =
split(/\|/, $newSesID);

                    if (remote_addr() eq $remoteAddr) {
                        $xMatched = 1;  # We matched the User's IP Addr...
                        # Split up the SecID Stream...
                        return if ($remoteSessionID eq "FCCJ");  
# Obviously the PrjSec FLAG Changed...
                        my($removeRemoteSecID) = 
substr($remoteSessionID,
(rindex($remoteSessionID,"FCCJ")));                        
                        my($getRemoteLife)     = 
substr($remoteSessionID, (rindex($remoteSessionID, "FCCJ") +
length("FCCJ".$yday)));
                        my($getRemoteSecID)    = 
substr($remoteSessionID, 0, (length($remoteSessionID) -
length($removeRemoteSecID)));
                        
                        # verify UserSecID...
                        my($usrExists) = '';
                        my($usrFile) = $Users . "/user.dat";
                        
                        # First make sure User ID does already exist!
                        open (vsIDhandle, $usrFile) or &ioError("vsID \(2\)
File Read");

                        while ($usrExists = <vsIDhandle>) {
                            chomp($usrExists); # Get rid of CR at
end-of-line...
                            ($encryptBIT, $profsID, $realFN, $realLN,
$prjSec, $prjComment) = split(/\|/, $usrExists);
                            last if ($getRemoteSecID eq $encryptBIT);
                        }
                        close (vsIDhandle);

                        if ($getRemoteSecID ne $encryptBIT) {
                            $ercType = "FATAL:";
                            $buffer = "Security Violation Detected... " .
remote_addr();
                            $ercCode = "<P><H2>Invalid Project User ID -- 
Do not try to break-in!</H2>";
                            $fccjPointer->delete('flipBit');
                            &errorReturned($ercType, $buffer, $ercCode);
                        } elsif (((($hour * 60 * 60) + ($min * 60) + $sec) - 
$getRemoteLife) > $keepAlive) {
                            $ercType = "Error:";
                            $buffer = "<P><H3>Session Idle Too Long; 
You Must Log-in Again... " . remote_addr();
                            $ercCode = "</H3><P>NOTICE: <A
HREF=\"http://astro.fccj.cc.fl.us/cgi/HrMaintenance.cgi\" 
onMouseOver=\"window.status='Click here to Sign Back into 
Project...'; return true\">Click Here to Log Back In</A>&nbsp";
                            $fccjPointer->delete('flipBit');
                            &errorReturned($ercType, $buffer, $ercCode);
                        } else {
                        
                            if (defined($prjSec) && (index($displayOnly, 
$prjSec) > -1)) { # Who does not have access?
                                $flipBit = "FCCJ";
                                return($flipBit);  
# Turn off security checking and return what was found...
                            }
                            
                            $level = $prjSec; # Otherwise, return the
Security Level...

                            # OK, update the Session ID Bit; 
                            # if there is a dup, previous Session is
destroyed...
                            # Session ID Bits are unique based up IP Addr
and User PROFS ID...
                            $xMatched = 1;  # We matched; we want the
Session ID to renew...
                            my($lifeSpan) = ($hour * 60 * 60) + ($min * 60)
+ $sec;
                            $flipBit =
$getRemoteSecID."FCCJ".$yday.$lifeSpan; 
# Set the M/F ID Bit with the HH:MM:SS + (Julian Date)...
                            $newSesID = remote_addr() . ".FCCJ." . $profsID;
                            open (xHandle, "+>$newSesID") or 
&ioError("vsID \(2\) File Create"); # Create a NEW file, over-writing the
OLD one...
                            print xHandle (remote_addr() .
"\|$profsID\|$flipBit\n");
                            close (xHandle);
                            return;
                        }

                    } # End of IF
                } # End of WHILE

                last if $xMatched;
            } # End of FOR
        } # End of ELSIF

        if (!$xMatched) {
            $ercType = "FATAL:"; 
            $buffer = "<P>Security Violation Detected... " . remote_addr();
            $ercCode = "<P><H2>Do not try to break-in! &nbsp;Program
Stopped...</H2>";
            &errorReturned($ercType, $buffer, $ercCode);
        }
}


HTH,
-Sneex-  :]
______________________________________________________________________
Bill Jones  |  904/632-3089  |  http://www.fccj.org/cgi/mail?webmaster
----------------------------------------------------------------------
$perlRulez = "FCCJ Webmaster";
if ($perlRulez =~ /(F)(C)(C)(J)( )(W)(e)(b)(m)(a)(s)(t)(e)(r)/) {
    print "$4", chr(ord($12)+1), "$11$12$5", uc($10), chr(ord($9)+1),
        chr(ord($14)-3), "$12", lc(chr(ord($1)+2)), reverse($14,$13),
        "$5", uc(chr(ord($14)-2)), "$13$14", chr(ord($9)-1), "$5",
        uc(chr(ord($7)+3)), "$10", chr(ord($10)+2),chr(ord($9)-2),
        reverse($14,$13), "\n"; }


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

Date: Wed, 28 Oct 1998 10:19:12 -0500
From: Shinobu <shinobu@huntertravel.net>
Subject: Question from one month old
Message-Id: <363735E9.608DFBC0@huntertravel.net>

Hello, everyone
I am not a programmer nor system admin but 
willing to have CGI program in our company's 
web page.
I looked though this group and found this place
is not for my level, however, I need someone can
help me to get infomation.
Where in the newsgroups should I go to get more
basic information for uploading CGI script to 
my own CGI-BIN?
My host, I dare say its name, EROLS never helps me
without charges. 
For example, I need to know how and where I can put
C program which name is FLY in order to work with 
that famous MATT'S COUNTER.
And how I can difine where my CGI-BIN locates, so on.

I hope this message don't make everyone here's 
feeling bad.( You may think I am so silly!)
I am waiting for someones warm help.
Thank you 
Shinobu


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

Date: Wed, 28 Oct 1998 08:13:10 -0600
From: Alexander Bibighaus <alexb@sig.net>
Subject: Re: Reg. expr. question
Message-Id: <36372676.494DA9AB@sig.net>

If you want the replacement to operate on all possible matches
instead of just the first match, use the "g" flag.

$dest_dir =~ s/\\/\/g;


Kjetil Svendsberget wrote:
> 
> I want to convert:
> 
> f.eksample:
> 
> f:\temp\test\
> 
> unto:
> 
> f:/temp/test/
> 
> I do this with:
> 
> while ($dest_dir =~ /\\/ ){
>         $dest_dir =~ s/\\/\//;
> }
> 
> How can i do this in 1 operation?
> E.g: how do i remove n instances of x pattern in the string z??
> 
> --
> Kjetil Svendsberget, systemengineer
> Balder Dialog AS
> Olaf Helsetsvei 6
> N-0694 Oslo, Norway


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

Date: Wed, 28 Oct 1998 07:55:55 -0600
From: Tk Soh <r28629@email.sps.mot.com>
Subject: Re: Reg. expr. question
Message-Id: <3637226B.5A29EF4F@email.sps.mot.com>

Kjetil Svendsberget wrote:
> 
> I want to convert:
> 
> f.eksample:
> 
> f:\temp\test\
> 
> unto:
> 
> f:/temp/test/
 

$dest_dir =~ s/\\/\//g;


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

Date: Wed, 28 Oct 1998 06:44:26 -0800
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: Reg. expr. question
Message-Id: <MPG.10a0cda6c845d5539898e5@nntp.hpl.hp.com>

[Posted to comp.lang.perl.misc and copy mailed.]

In article <36372676.494DA9AB@sig.net> on Wed, 28 Oct 1998 08:13:10 -
0600, Alexander Bibighaus <alexb@sig.net> says...
> If you want the replacement to operate on all possible matches
> instead of just the first match, use the "g" flag.
> 
> $dest_dir =~ s/\\/\/g;

I wouldn't do it that way, because it is a syntax error.  I think you 
meant:

  $dest_dir =~ s/\\/\//g;

which suffers from a severe case of LTS (Leaning Toothpick Syndrome).  
This is better, because it is syntactically correct:

  $dest_dir =~ s#\\#/#g;

where the '#' can be about any punctuation character you prefer.  But 
the following is far faster:

  $dest_dir =~ tr#\\#/#;

This operator should come to mind any time someone wants to replace a 
*single* character from a set of characters by another *single* 
character from a set of characters, or by nothing.

-- 
(Just Another Larry) Rosler
Hewlett-Packard Laboratories
http://www.hpl.hp.com/personal/Larry_Rosler/
lr@hpl.hp.com


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

Date: Wed, 28 Oct 1998 14:40:13 GMT
From: "Stuart Rison" <stuart@ludwig.ucl.NO_JUNK.ac.uk>
Subject: Set Operators.
Message-Id: <stuart-2810981440130001@lud190.ludwig.ucl.ac.uk>

Dear All,

Are there any predefined set operators for Perl which work on arrays?

e.g. @set1=(1,2,3,4,5,6,7,8,9);
					@set2=(2,4,6,8,'who do we appreciate');

@set1 - @set2 = (1,3,5,7,9) # set operator minus, i.e. In set1 but not in
set2
       
@set1 INTERSECTION @set2 = (2,4,6,8) # set oprerator intersection (symbol
upside down 'U'), i.e. in set1 and in set2

currently I use the following routines (adapted from Programming Perl 1st
edition - the Mauve One!):

sub intersect {
  my($array1,$array2)=@_;
  my(@array1)=@$array1;
  my(@array2)=@$array2;
  local(%MARK);
  grep($MARK{$_}++,@array1);
  @results=grep($MARK{$_},@array2);
  return @results;
}

sub minus {
  my($array1,$array2)=@_;
  my(@array1)=@$array1;
  my(@array2)=@$array2;
  local(%MARK);
  grep($MARK{$_}++,@array2);
  my(@results)=grep(!$MARK{$_},@array1);
  return @results;
}

that I call using pass-by-referencing:

e.g. minus(\@set1,\@set2); # returns (1,3,5,7,9);

this is fine and dandy for small set but I can't imagine it's any good for
big sets (too slow and uses too much space on %MARK)

Anything better out there?

Cheers,

Stuart.

PS.  please cc to me: stuart@NO_JUNKludwig.ucl.ac.uk


+-------------------------+--------------------------------------+
| Stuart Rison            | Ludwig Institute for Cancer Research |   
| Tel. (0171) 878 4127    | Courtauld Building                   | 
| Fax. (0171) 878 4040    | 91 Riding House Street               |
+-------------------------+ London, W1P 8BT                      |
| e-mail in PS. above     | UNITED KINGDOM.                      |
+-------------------------+--------------------------------------+



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

Date: Wed, 28 Oct 1998 09:46:01 -0500
From: danbeck@eudoramail.com (Daniel Beckham)
Subject: Re: socket connection via udp
Message-Id: <MPG.10a0f834cabbfc409896ae@news.supernews.com>

Jeez, he only got it a little wrrong.  He, at least, had a valid 
question.


In article <saryaq1kidc.fsf@camel.fastserv.com>, uri@fastengines.com 
says...
> >>>>> "SJ" == Schubert Juergen <jschubert@syskonnect.de> writes:
> 
>   SJ> Hi everybody I would like to create a socket connection via udp
>   SJ> from a client to a server.  How can I create a timeout if the
>   SJ> receive from the server fail (may be the server is down)?
> 
> this is not possible. connected sockets use TCP. UDP is a datagram
> protocol without connections. so which do you want? and is this a perl
> question? perl is not mentioned anywhere above.
> 
> in any case check out IO::Socket to do socket stuff in perl.
> 
> uri
> 
> 
> 


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

Date: Wed, 28 Oct 1998 15:00:21 GMT
From: "Steve Purkis" <spurkis@engsoc.carleton.ca>
Subject: Re: Subroutine question
Message-Id: <9kGZ1.86$jc4.603619@news21.bellglobal.com>

Mark Fergusson wrote in message
<36371BBF.76001D4F@hal.ddntl.didata.co.za>...
>Hello,
>
>I have some code which needs to be external to a main program. Only on
>rare occasions will this code need to be run as if it was part of the
>main program. What is the best way to do this, so that I avoid it being
>loaded, every time the program is run ?

There are a couple of ways you could do this:
  1.  write an AUTOLOAD subroutine.
  2.  store the code externally, read it in and eval it, or require it when
needed.
  3.  store the code internally (ie: $mysub  = "sub { ... }") and eval &
call it
      when neded (but don't eval it twice!).

In both (1) and (2) the code is external to the file.  Doing something like
(3)
_might_ cut down on the overhead, I'm not sure.

(1) is the standard way to do this *if* you are writing modules, but it can
be
used (practically) anywhere.  Basically, the idea is to write an sub called
AUTOLOAD that gets executed whenever an undefined subroutine is called.
Its job is to find (ie: load) the right sub, and goto() it.


>If the routine is used, only then must it fetch the code, and run it, as
>if it was tagged on to the program in the first place, with access to
>all the programs variables.
>
>Please can someone point me in the right direction.

Hope I've done so :-)

Good luck!
+---                                               ---+
  Steve Purkis           <spurkis@engsoc.carleton.ca>
  Agent Perl module: http://epn.ml.org/~spurkis/Agent




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

Date: Wed, 28 Oct 1998 06:33:45 -0800
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: system() function on PERL for Win32
Message-Id: <MPG.10a0cb249d3954d19898e4@nntp.hpl.hp.com>

[Posted to comp.lang.perl.misc and copy mailed.]

In article <363713f8.0@news.new-era.net> on 28 Oct 1998 12:54:16 GMT, 
scott@softbase.com <scott@softbase.com> says...
> Mike Price (mprice@netconexinc.com) wrote:
> 
> > system("copy","d:\\temp\\*.*","c:\\temp\\*.*");
> 
> System takes a single parameter, not a list.
> 
> Scott

RTFM, Scott.

NAME

system - run a separate program 

SYNOPSIS

system LIST 

system PROGRAM LIST 

-- 
(Just Another Larry) Rosler
Hewlett-Packard Laboratories
http://www.hpl.hp.com/personal/Larry_Rosler/
lr@hpl.hp.com


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

Date: 28 Oct 1998 13:20:57 GMT
From: klassa@aur.alcatel.com (John Klassa)
Subject: Re: The point of curly braces
Message-Id: <7175np$n6p$1@aurwww.aur.alcatel.com>

On Mon, 26 Oct 1998 13:40:10 -0800, Jason Orendorff <jorendorff@ixl.com> wrote:
  > Python continues lines if you have a (, [, or { that's still open
  > at the end of the line.  If that's not enough you can use \ to
  > continue lines, just like C.

Just like C?  C is rather much like perl in this regard...  Aren't
\-continuations only necessary in a multi-line #define?

-- 
John Klassa / Alcatel / Raleigh, NC, USA / $perl_monger{Raleigh}[0] / <><


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

Date: Wed, 28 Oct 1998 14:35:54 GMT
From: amw@world.std.com (Anita M Wilcox)
Subject: Re: Which Perl for WIN NT server w IIS
Message-Id: <F1JKJu.6o8@world.std.com>

In article <ypnemrtfroj.fsf@aurora.alaska.edu>,
Chris Lott  <fncll@aurora.alaska.edu> wrote:
>
>Subject about says it all: which Perl (distribution, not version) is 
>most optimal for an NT box running IIS3 (soon to be 4)? I've seen comments
>about at least three (Activestate, Swarathamy(sp), and another). 
>
>It would mostly be used for handling web forms, discussion forums and 
>perhaps some web database interaction, though I generally use Cold Fusion 
>for that.

I'm currently doing a project using Activestate on NT with IIS
using Win32::ODBC for database stuff with no problems at all.
I personally prefer the DBI/DBD modules, but they like ODBC
at this place :-)

Anita




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

Date: 12 Jul 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 Mar 98)
Message-Id: <null>


Administrivia:

Special notice: in a few days, the new group comp.lang.perl.moderated
should be formed. I would rather not support two different groups, and I
know of no other plans to create a digested moderated group. This leaves
me with two options: 1) keep on with this group 2) change to the
moderated one.

If you have opinions on this, send them to
perl-users-request@ruby.oce.orst.edu. 


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 4092
**************************************

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