[11804] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 5404 Volume: 8

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Sat Apr 17 03:07:27 1999

Date: Sat, 17 Apr 99 00:00:17 -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           Sat, 17 Apr 1999     Volume: 8 Number: 5404

Today's topics:
    Re: [Q] install & Setup BBS on Unix <dchristensen@california.com>
    Re: error message (Bob Trieger)
    Re: New FAQ: How can I read in an entire file all at on (Dmitry Epstein)
    Re: New FAQ: How can I read in an entire file all at on (Abigail)
    Re: New FAQ: How can I read in an entire file all at on (Bart Lateur)
    Re: No clues to Win32::NetResource problem? <SchorschiD@Earthlink.net>
        Perl Charting Program? <blairmc@mindspring.com>
        Perl for Oracle or Access on NT w/ODBC Examples <schultsm@hotmail.com>
        Problem with Hash <baliga@synopsys.com>
    Re: Problem with Hash <ebohlman@netcom.com>
    Re: Sorting question (Abigail)
    Re: Would anyone care to teach me perl? (Larry Rosler)
    Re: Writing to syslog on Linux (Neil Cherry)
        Special: Digest Administrivia (Last modified: 12 Dec 98 (Perl-Users-Digest Admin)

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

Date: Fri, 16 Apr 1999 18:03:04 -0700
From: "David Christensen" <dchristensen@california.com>
Subject: Re: [Q] install & Setup BBS on Unix
Message-Id: <3717df55@news2.newsfeeds.com>

Brian:

>I'm managing the Unix Server for Homepage.
>Now I want to construct BBS on this server.

The Linux Journal has been running a series of articles of how to
write a BBS in Perl.

--
David
dchristensen@california.com





  -----------== Posted via Newsfeeds.Com, Uncensored Usenet News ==----------
    http://www.newsfeeds.com/       The Largest Usenet Servers in the World!
---------== Over 72,000 Groups, Plus    Dedicated  Binaries Servers ==--------


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

Date: Sat, 17 Apr 1999 04:02:48 GMT
From: sowmaster@juicepigs.com (Bob Trieger)
Subject: Re: error message
Message-Id: <7f90u8$n4o$2@oak.prod.itd.earthlink.net>

[ courtesy cc sent by mail if address not munged ]
     
gt912d@prism.gatech.edu wrote:
>i am getting a error message when i try to use my guestbook type script
>and i am not sure wht it means if anyone could please tells me what my
>pro gram is doing wrong i would aprcieate it
>
>Error: HTTPd: malformed header from script
>/usr/local/etc/httpd/htdocs/cgi-bin/tplogbook.cgi
>

Your program is writing a malformed header.

You have a cgi problem, not a perl problem and would be better served 
asking your question in the cgi newsgroup 
news:comp.infosystems.www.authoring.cgi


Good luck



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

Date: Sat, 17 Apr 1999 02:02:48 GMT
From: mitiaNOSPAM@nwu.edu.invalid (Dmitry Epstein)
Subject: Re: New FAQ: How can I read in an entire file all at once?
Message-Id: <3719ebc5.284417481@news.acns.nwu.edu>

On 16 Apr 1999 12:39:53 -0700, Tom Christiansen <tchrist@mox.perl.com>
wrote:
>=head2 How can I read in an entire file all at once?
>
>The customary Perl approach for processing all the lines in a file is to
>do so one line at a time:
>
>    open (INPUT, $file)         || die "can't open $file: $!";
>    while (<INPUT>) {
>        chomp;
>        # do something with $_
>    }
>    close(INPUT)                || die "can't close $file: $!";
>
>This is tremendously more efficient than reading the entire file into
>memory as an array of lines and then processing it one element at a time,
>which is often -- if not almost always -- the wrong approach.  You might

IMHO:

1. Unless you are dealing with very large files and are afraid to run
out of memory, I don't see why reading entire files is so bad.  Memory
is cheap.

2. If you are reading (or writing) from more than one file at the same
time, you'll probably find that reading/writing entire files is always
much faster than reading/writing them line by line.

3. There are plenty of contexts in which line breaks are irrelevant
for the task at hand, and therefore it doesn't make any sense to
process files line by line.  For instance, in many languages, such as
C and Perl, also in HTML, line breaks are equivalent to spaces.  Also,
if you are going to repeatedly go over the entire file, obviously you
will be better off having read the entire file in memory rather than
reading it from disk over and over again.

<snip>
>    $var = `cat $file`;
>
>Being in scalar context, you get the whole thing.  This tiny but expedient
>solution is neat, clean, and portable to all systems that you've bothered 
>to install decent tools on, even if you are a Prisoner of Bill.

Correct me if I am wrong, but I always thought that given the choice
between a neat, clean, and portable Perl implementation and a shell
call you should always choose the former.  Frankly, I don't understand
the tendency among Perl programmers to go out of their way in order to
write something using as few characters as possible, disregarding all
other issues.

Dmitry
--
Remove NOSPAM and .invalid from mitiaNOSPAM@nwu.edu.invalid


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

Date: 17 Apr 1999 05:59:34 GMT
From: abigail@fnx.com (Abigail)
Subject: Re: New FAQ: How can I read in an entire file all at once?
Message-Id: <7f9806$d9i$1@client2.news.psi.net>

Tom Christiansen (tchrist@mox.perl.com) wrote on MMLIV September MCMXCIII
in <URL:news:371783f9@cs.colorado.edu>:
~~ 
~~ On very rare occasion, you may have an algorithm that demands that
~~ the entire file be in memory at once as one scalar.  The simplest solution
~~ to that is:                                    
~~                                                
~~     $var = `cat $file`;
~~ 
~~ Being in scalar context, you get the whole thing.  This tiny but expedient
~~ solution is neat, clean, and portable to all systems that you've bothered 
~~ to install decent tools on, even if you are a Prisoner of Bill.

Being dependent on whether other programs are installed isn't what
I would call portable. A huge drawback I see for `cat $file` is the
lack of easy handling of errors. $! won't be set, and the return value
of `` isn't useful either.

~~ For those die-hards PoBs who've paid their billtax and refuse to use 
~~ the toolbox, or who like writing complicated code for job security, 
~~ you can of course read the file manually.
~~ 
~~     $var = {                              
~~         local(*INPUT, $/);
~~         open (INPUT, $file)     || die "can't open $file: $!";
~~         <INPUT>;
~~     };                                    

I think you want a do there.



Abigail
-- 
perl5.004 -wMMath::BigInt -e'$^V=Math::BigInt->new(qq]$^F$^W783$[$%9889$^F47]
 .qq]$|88768$^W596577669$%$^W5$^F3364$[$^W$^F$|838747$[8889739$%$|$^F673$%$^W]
 .qq]98$^F76777$=56]);$^U=substr($]=>$|=>5)*(q.25..($^W=@^V))=>do{print+chr$^V
%$^U;$^V/=$^U}while$^V!=$^W'


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

Date: Sat, 17 Apr 1999 06:42:07 GMT
From: bart.lateur@skynet.be (Bart Lateur)
Subject: Re: New FAQ: How can I read in an entire file all at once?
Message-Id: <37182c22.329495@news.skynet.be>

[posted and mailed]

Tom Christiansen wrote:

>    $var = {                              

You *must* have forgotten a "do" here.

>        local(*INPUT, $/);
>        open (INPUT, $file)     || die "can't open $file: $!";
>        <INPUT>;
>    };                                    

There's also the Abigail approach:

	$var = do {
		local(*ARGV,$/); @ARGV = $file;
		<>;
	};

	Bart.


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

Date: Fri, 16 Apr 1999 20:58:49 -0700
From: "Schorschi Decker" <SchorschiD@Earthlink.net>
Subject: Re: No clues to Win32::NetResource problem?
Message-Id: <7f917n$dr0$1@birch.prod.itd.earthlink.net>

Dave, Chuck, Anyone...

What is the solution to the issues with NetResource Module?  Is anyone
working on a replacement?  I would be glad to do so, but I am sure that
somebody in the greater Perl Community could do a better job.  I just have
not spent that much time with Perl to be ready to write a module from
scratch (yet).

Schorschi L. Decker

Dave Roth <xrxoxtxhxdx@xrxoxtxhx.xnxextx> wrote in message
news:aWyQ2.9190$Jc7.516950@news2.giganews.com...
>Chuck wrote in message <370FE25A.25B9E767@netscape.net>...
>>
>>
>>Dave Roth wrote:
>>
>>> Ahhh. For some reason Win32::NetResource::NetShareGetInfo() requires
>>> that the second parameter be a scalar, not a hash reference. If the
>>> function is successful then the scalar will be set as a hash reference.
>>> Try this:
>>>  Win32::NetResource::NetShareGetInfo( $myshare, $share_info, $server );
>>>  print "The Share path is: $share_info->{remark}.
>>
>>It will also give a runtime exception if $myshare points to a share point
>that
>>doesn't exist. I'm looking for a way to test the existence of a share
>before I
>>try to go there and pull up its information. I was hoping a 0 return upon
>>failure of this function would work, but it chokes completely unless the
>share
>>already exists.
>>Is there another way to do this? Win32::NetResource::NetShareCheck would
be
>>perfect for this if it worked, and Dave says not to use it in his book.
>;-)
>
>Yeah, NetShareCheck() seems to be as broken as can be -- mind you it is not
>the extensions authors fault. The Win32 API function seems broken.
>You should be able to do something like:
>    -d '\\\\server\share' || die "no such UNC";
>However there are two issues here:
>  1) If you don't have permissions on the share it may fail
>  2) Perl 5.005 has a bug which -d will always fail if you specify
>     a UNC root. I submitted a patch to this way back for ActiveState
>     build 310 (or thereabouts) and it was fixed in the next release.
>     However Perl 5.005 seems to have lost the patch.
>
>dave
>
>--
>=================================================================
>Dave Roth                                ...glittering prizes and
>Roth Consulting                      endless compromises, shatter
>http://www.roth.net                     the illusion of integrity
>Win32, Perl, C++, ODBC, Training
>rothd at roth dot net
>
>Our latest Perl book is now available:
>"Win32 Perl Programming: The Standard Extensions"
>http://www.roth.net/books/extensions/
>
>
>





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

Date: Fri, 16 Apr 1999 19:16:29 -0700
From: "Michael Blair" <blairmc@mindspring.com>
Subject: Perl Charting Program?
Message-Id: <7f8qsl$rv1$1@camel15.mindspring.com>

I am looking for a business charting program I can use with Perl?




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

Date: Fri, 16 Apr 1999 22:16:48 -0700
From: "Sam Schulte" <schultsm@hotmail.com>
Subject: Perl for Oracle or Access on NT w/ODBC Examples
Message-Id: <vPUR2.750$%L2.16319@news6.ispnews.com>

If your Perl and Oracle are on a NT Server, you can use the DBD-ODBC module
instead of the DBD-Oracle module.  You will have to have SQLNet installed
and configured on the machine, and the Oracle ODBC driver for your Oracle8
database release.  SQLNet and the ODBC stuff should be on your client CDROM.
Once they are installed and your SQLEasy configuration is set up, go to
control panel and create a SYSTEM DSN that points to the Oracle Server name.

Your Perl code/connection is set up like this:

use DBI;
$dbh = DBI->connect('dbi:ODBC:SYSTEMDSN', 'oracleusername',
'oraclepassword', { RaiseError => 1 });

(SYSTEMDSN is whatever you named it in control panel's ODBC System DSN
thingie)

Then prepare your SQL statements:

$insertthingie = $dbh->prepare("INSERT INTO TABLENAME (FIELDNAME1,
FIELDNAME2) VALUES (?, ?)");
$selectthingie = $dbh->prepare("SELECT * FROM TABLENAME WHERE FIELDNAME1 =
?");
$showallthingie = $dbh->prepare("SELECT * FROM TABLENAME");
$updatethingie = $dbh->prepare("UPDATE TABLENAME SET FIELDNAME2 = ? WHERE
FIELDNAME1 = ?");
$deletethingie = $dbh->prepare("DELETE FROM TABLENAME WHERE FIELDNAME1 =
?");

The question marks are placeholders for values to be plugged into your SQL
statements...which are executed like this:

$insertthingie->execute($questionmarkvalue1, $questionmarkvalue2);
$selectthingie->execute($questionmarkvalue1);
$showallthingie->execute;
$updatethingie->execute($questionmarkvalue1, $questionmarkvalue2);
$deletethingie->execute($questionmarkvalue1);

Here's some Perl for the data returned from Oracle to be displayed in a HTML
table:

print "<table border=1 cellpadding=2 cellspacing=0>\n";
while (@row = $showallthingie->fetchrow_array) {

    # two cells in the table row because we pretend the query only returns
two fields in our pretend database

    print "<tr><td>$row[0]</td><td>$row[1]</td></tr>\n";

}
print "</table>\n";

Here's a complete example that uses a database with 2 fields, PERSON and
COMMENT.  This script builds the HTML for the form, and handles the
interface to the database...enjoy! There's no shebang (#!) because I'm on a
NT server...replace SYSTEMDSN with your System DSN name, and the username
and password as well.  For Microsoft Access users, set up your connect
string like this with blanks for the user/pass stuff:

$dbh = DBI->connect('dbi:ODBC:SYSTEMDSN', '', '', { RaiseError => 1 });

===== begin example ======

use DBI;
use CGI param;

print "Content-Type: text/html\n\n";
print "<html><head><title>test</title></head><body>\n\n";

# the fields below correspond with the fields in the database and on the
HTML form

$person = param('person');
$comment = param('comment');

$dbh = DBI->connect('dbi:ODBC:SYSTEMDSN', 'username', 'password',
 RaiseError => 1 });
$insertthingie = $dbh->prepare("INSERT INTO SIMPLE (PERSON, COMMENT) VALUES
(?, ?)");
$selectthingie = $dbh->prepare("SELECT * FROM SIMPLE WHERE PERSON = ?");
$showallthingie = $dbh->prepare("SELECT * FROM SIMPLE");
$updatethingie = $dbh->prepare("UPDATE SIMPLE SET COMMENT = ? WHERE PERSON =
?");
$deletethingie = $dbh->prepare("DELETE FROM SIMPLE WHERE PERSON = ?");

# if the appropriate button is pressed on the form, then execute the
corresponding subroutine

if (param('insertbutton')) {
 &insertthingie;
 }

elsif (param('selectbutton')) {
 &selectthingie;
 }

elsif (param('updatebutton')) {
 &updatethingie;
 }

elsif (param('showallbutton')) {
 &showallthingie;
 }

elsif (param('deletebutton')) {
 &deletethingie;
 }

else {

    # prints the interface webpage

    print "<FORM ACTION=\"dbitest2.pl\" METHOD=\"POST\">\n";
    print "<TABLE BORDER=\"1\" CELLSPACING=\"1\" CELLPADDING=\"2\">\n";
    print "<TR><TD align=right>person:</TD><TD><INPUT TYPE=\"Text\"
NAME=\"person\"></TD></TR>\n";
    print "<TR><TD align=right>comment:</TD><TD><INPUT TYPE=\"Text\"
NAME=\"comment\"></TD></TR>\n";
    print "<TR><TD align=right><INPUT TYPE=\"Submit\" NAME=\"insertbutton\"
VALUE=\"insert\"></TD>\n";
    print "<TD>inserts both fields entered as new record</TD></TR>\n";
    print "<TR><TD align=right><INPUT TYPE=\"Submit\" NAME=\"selectbutton\"
VALUE=\"query\"></TD>\n";
    print "<TD>queries person entered and returns record</TD></TR>\n";
    print "<TR><TD align=right><INPUT TYPE=\"Submit\" NAME=\"updatebutton\"
VALUE=\"update\"></TD>\n";
    print "<TD>updates comment field for person entered</TD></TR>\n";
    print "<TR><TD align=right><INPUT TYPE=\"Submit\" NAME=\"showallbutton\"
VALUE=\"show all\"></TD>\n";
    print "<TD>returns all records in table</TD></TR>\n";
    print "<TR><TD align=right><INPUT TYPE=\"Submit\" NAME=\"deletebutton\"
VALUE=\"delete\"></TD>\n";
    print "<TD>deletes record for person entered</TD></TR></TABLE>\n";
    print "</FORM>\n";

}

sub selectthingie {
    print "<table border=1 cellpadding=2 cellspacing=0>\n";
    $selectthingie->execute($person);
    while (@row = $selectthingie->fetchrow_array) {

        # the 2 below is the number of fields we return in the table row

     print "<tr><td>$row[0]</td><td>$row[1]</td></tr>\n";
    }
    print "</table>\n\n";
}

sub insertthingie {
    $insertthingie->execute($person, $comment);
}

sub updatethingie {
    $updatethingie->execute($comment, $person);
}

sub showallthingie {

    print "<table border=1 cellpadding=2 cellspacing=0>\n";
    $showallthingie->execute;
    while (@row = $showallthingie->fetchrow_array) {
     print "<tr><td>$row[0]</td><td>$row[1]</td></tr>\n";
    }
    print "</table>\n\n";
}

sub deletethingie {
    $deletethingie->execute($person);
}

print "</body></html>";


===== end example =====

Sam Schulte, MCSE, MCT
Perl Nut





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

Date: Fri, 16 Apr 1999 18:18:59 -0700
From: Yogish Baliga <baliga@synopsys.com>
Subject: Problem with Hash
Message-Id: <3717E183.EB044E50@synopsys.com>

Hi All,

   I have one class with a method called new. In the new method I am
declaring a variable
   called $self which is a reference to an Hash.

            package Email;

            sub new {
                   my $class = shift;

                   my $self = {
                                            from => undef,
                                            to      => undef,
                                            cc      => undef
                                      };
                     bless $self, $clas;
                     return $self;
            }

The above code is stored in Email.pm file

I am using the above code in one of the program as
  use Email;

  my $email = new Email;

The problem is, the code after my $self is not getting executed.
I tries changing the { } to ( ) for $self.
I tried changing the $self to %self.

I would appreciate the any kind of Help.

ThanX a lot,
-- Baliga






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

Date: Sat, 17 Apr 1999 06:29:30 GMT
From: Eric Bohlman <ebohlman@netcom.com>
Subject: Re: Problem with Hash
Message-Id: <ebohlmanFABM16.4xx@netcom.com>

Yogish Baliga <baliga@synopsys.com> wrote:
:    I have one class with a method called new. In the new method I am
: declaring a variable
:    called $self which is a reference to an Hash.

:             package Email;

:             sub new {
:                    my $class = shift;

:                    my $self = {
:                                             from => undef,
:                                             to      => undef,
:                                             cc      => undef
:                                       };
:                      bless $self, $clas;

If that's really the code you're using, it's quite likely that the typo 
on the above line is what's causing your problem.  If, OTOH, you simply 
typed in a copy of your code and introduced the typo there, it's entirely 
possible that we aren't seeing what's actually causing the problem.  For 
reasons like this, most regulars on this group suggest that you 
cut-and-paste any code you're having trouble with rather than trying to 
re-key it into your post (in fact, the psychological phenomenon known as 
"set" can lead to cases where there's an error in your real code, but you 
unconsciously correct it when re-typing it!).

:                      return $self;
:             }

: The above code is stored in Email.pm file

: I am using the above code in one of the program as
:   use Email;

:   my $email = new Email;

: The problem is, the code after my $self is not getting executed.
: I tries changing the { } to ( ) for $self.

No, that won't work; it changes the line to the equivalent of 'my 
$self=undef;'

: I tried changing the $self to %self.

That won't work either; objects can be accessed only through references.


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

Date: 17 Apr 1999 06:10:18 GMT
From: abigail@fnx.com (Abigail)
Subject: Re: Sorting question
Message-Id: <7f98ka$d9i$2@client2.news.psi.net>

Paul Breslaw (paul@breslaw.demon.co.uk) wrote on MMLIV September MCMXCIII
in <URL:news:3717A3CF.41C67EA6@breslaw.demon.co.uk>:
:: Suppose I've got the following data
:: 
:: my %data = (
::     fred => { age => 20 },
::     bill => { age => 30 },
::     andy => { age => 35 },
::     dick => { age => 30 },
::     nora => { age => 20 },
::     toni => { age => 35 },
::     bert => { age => 40 },
::     jane => { age => 20 }
:: );
:: 
:: and I want to sort the people by age, and within each age group sort
:: the names alphabetically.  The following would seem to be the right
:: approach:-
:: 
:: foreach my $p (sort { $data{$a}->{age} <=> $data{$b}->{age} } sort keys
:: %data) {
::     print "$p  $data{$p}->{age}\n";
:: }

No, it doesn't. It would work if sort() was stable, but it often isn't.

:: This worked fine on Linux, 

No. Luck.

:: fred  20
:: jane  20
:: nora  20
:: bill  30
:: dick  30
:: andy  35
:: toni  35
:: bert  40
:: 
:: but on SunOS and Solaris produced
:: 
:: fred  20
:: nora  20
:: jane  20
:: dick  30
:: bill  30
:: andy  35
:: toni  35
:: bert  40

Since sorting isn't stable, the SunOS/Solaris result is correct.

You probably want something like:

   foreach my $p (sort {$data {$a} -> {age} <=> $data {$b} -> {age} ||
                               $a           cmp        $b} keys %data) {
       print "$p  $data{$p}->{age}\n";
   }


Abigail
-- 
perl -MLWP::UserAgent -MHTML::TreeBuilder -MHTML::FormatText -wle'print +(
HTML::FormatText -> new -> format (HTML::TreeBuilder -> new -> parse (
LWP::UserAgent -> new -> request (HTTP::Request -> new ("GET",
"http://work.ucsd.edu:5141/cgi-bin/http_webster?isindex=perl")) -> content))
=~ /(.*\))[-\s]+Addition/s) [0]'


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

Date: Fri, 16 Apr 1999 21:59:50 -0700
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: Would anyone care to teach me perl?
Message-Id: <MPG.1181b52526f109829898cd@nntp.hpl.hp.com>

In article <7f8kdl$89s$1@starburst.uk.insnet.net> on Sat, 17 Apr 1999 
01:28:05 +0100, ggs <gs_london@yahoo.com> says...
> Raymond Yu wrote in message <371513C8.3CD3086C@nettaxi.com>...
> >Would anyone care to teach me perl?  Just with email though.
> 
> Lesson One
> 
> -------start------
> #!/usr/bin/perl
> ------end-------
> put the above in a file and save it. (filename= lesson_one.pl)
> 
> come back next month for Lesson Two (or buy a book)

  Lesson One
  
  -------start------
  #!/usr/bin/perl -w
  use strict;
  ------end-------

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


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

Date: Sat, 17 Apr 1999 02:27:30 GMT
From: njc@dmc.uucp (Neil Cherry)
Subject: Re: Writing to syslog on Linux
Message-Id: <slrn7hfsht.3e5.njc@dmc.uucp>

On Fri, 16 Apr 1999 23:08:07 GMT, Alastair wrote:
>Thriveni Bhakta <thriveni@prodigy.net> wrote:
>>    I have not been abel to write to syslog using Perl on Linux.
>>
>>    Is this a known problem ?
>
>No.
>
>>    Any suggestions/solutions ?
>
>What doesn't work?

Writing a message to syslog. It executes, but no errors and no
entry. But one interesting thing happened today when I upgraded to
Linux 2.2.5. Dmesg report no /dev/log. I think I need a new ksyslog or
something under 2.2.5. That still doesn't explain what happens with
2.2.1.

-- 
Linux Home Automation           Neil Cherry             ncherry@home.net
http://members.home.net/ncherry                         (Text only)
http://meltingpot.fortunecity.com/lightsey/52           (Graphics GB)
http://www2.cybercities.com/~linuxha/			(Graphics US)


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

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

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