[28261] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 9625 Volume: 10

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Aug 18 09:05:37 2006

Date: Fri, 18 Aug 2006 06:05:06 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Fri, 18 Aug 2006     Volume: 10 Number: 9625

Today's topics:
    Re: HOW to rename a NPH script ? <umu@hrz.tu-chemnitz.de>
    Re: HOW to rename a NPH script ? <sherm@Sherm-Pendleys-Computer.local>
    Re: HOW to rename a NPH script ? <umu@hrz.tu-chemnitz.de>
    Re: MySql +DBI problem <mritty@gmail.com>
    Re: MySql +DBI problem uttamhoode@gmail.com
    Re: MySql +DBI problem <1usa@llenroc.ude.invalid>
    Re: MySql +DBI problem <mritty@gmail.com>
    Re: MySql +DBI problem <rvtol+news@isolution.nl>
    Re: Not able to connect socket .... Swanand.Kakade@gmail.com
    Re: Not able to connect socket .... <nobull67@gmail.com>
        who needs perl when you haev happs? <bootiack@yahoo.com>
    Re: Win32::OLE problem <rvtol+news@isolution.nl>
    Re: Win32::OLE problem <iain.mclaren@removethis.scott-moncrieff.moc>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Fri, 18 Aug 2006 13:05:55 +0200
From: Ulrich Mueller <umu@hrz.tu-chemnitz.de>
Subject: Re: HOW to rename a NPH script ?
Message-Id: <Pine.LNX.4.64.0608181252180.7639@herein.hrz.tu-chemnitz.de>

On Fri, 18 Aug 2006, A. Sinan Unur wrote:

> 
> How about comp.infosystems.www.servers.unix ?

thanks, I will try to get an answer there too.


> 
> You asked:
> 
> >> > > > I've a NPH perl CGI under apache
> >> > > >
> >> > > > What possibilities I have to tell apache,
> >> > > > that this is still an nph script,
> 
> If that is not an Apache configuration question, and thus off-topic, I
> do not know what would be.


hey men, you're starting making me angry. I asked:

> What possibilities I have to tell apache,
> that this is still an nph script,
> either with mod_perl or not,  
> via (preferably) changing code itself or local .htaccess
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

so please leave it in context, 
I want the PERL script to tell apache,
I asked for some lines of PERL CODE, preferably,
sorry, if you misunderstood, English is not my mothertongue,

and I told you, that I HAVE ASKED some apache group before,
at least they were not throwing me out,
by complaining that this is a question concerning perl,

> I won't be seeing your messages. Bye.
> 
> Sinan
> 

Be happy.
Ulrich


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

Date: Fri, 18 Aug 2006 07:32:57 -0400
From: Sherm Pendley <sherm@Sherm-Pendleys-Computer.local>
Subject: Re: HOW to rename a NPH script ?
Message-Id: <m2ac62z3bq.fsf@Sherm-Pendleys-Computer.local>

Ulrich Mueller <umu@hrz.tu-chemnitz.de> writes:

> hey men, you're starting making me angry. I asked:
>
>> What possibilities I have to tell apache,
>> that this is still an nph script,
>> either with mod_perl or not,  
>> via (preferably) changing code itself or local .htaccess
>       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> so please leave it in context, 
> I want the PERL script to tell apache,
> I asked for some lines of PERL CODE, preferably,
> sorry, if you misunderstood, English is not my mothertongue,

Sorry, but *you* have misunderstood. We get the question just fine. The
answer is no, you cannot do that from inside the Perl script. The Apache
server must be configured - either in .htaccess or in httpd.conf - to
process your script as NPH.

From the CGI.pm documentation:

    "Servers use a variety of conventions for designating CGI scripts as NPH.
    Many Unix servers look at the beginning of the script's name for the
    prefix "nph-". The Macintosh WebSTAR server and Microsoft's Internet
    Information Server, in contrast, try to decide whether a program is an
    NPH script by examining the first line of script output."

Apache is not one of those servers that examine the script's output - it
uses the nph- prefix.

You could use mod_rewrite to add the nph- prefix to requests within a given
directory. You'd still need to keep the prefix on your files, but at least
it wouldn't be visible to users.

sherm--

-- 
Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net


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

Date: Fri, 18 Aug 2006 14:43:11 +0200
From: Ulrich Mueller <umu@hrz.tu-chemnitz.de>
Subject: Re: HOW to rename a NPH script ?
Message-Id: <Pine.LNX.4.64.0608181425470.7639@herein.hrz.tu-chemnitz.de>

On Fri, 18 Aug 2006, Sherm Pendley wrote:

> Ulrich Mueller <umu@hrz.tu-chemnitz.de> writes:
> 
> > so please leave it in context, 
> > I want the PERL script to tell apache,
> > I asked for some lines of PERL CODE, preferably,
> > sorry, if you misunderstood, English is not my mothertongue,
> 
> Sorry, but *you* have misunderstood. We get the question just fine. The
> answer is no, you cannot do that from inside the Perl script. The Apache

Hallo Sherm,
thanks for your reply, meanwhile I ve read
http://augustmail.com/~tadmc/clpmisc/clpmisc_guidelines.html
and I didn't want to disturb your group, promised,
and in case the answer is *NO*, then that question doesn't belong here,
but how should me unexperienced programmer know before,
(finding things like $|=1 and assbackwards() by web searches)
so I thought I ve the  right to ask,
now you are the first one who is saying *NO*,
and I thank you for.

> You could use mod_rewrite to add the nph- prefix to requests within a given
> directory. You'd still need to keep the prefix on your files, but at least
> it wouldn't be visible to users.
> 
I've tried this before, but when user asked for http://.../hallo,
nph-test.cgi was correctly executed as nph, but then in the browser
there was written http://.../nph-test.cgi as well. So is there a way
the hallo is rewritten internally, but not for the user's browser.
Sorry Sherm, I know, that this is apache stuff now...
so feel free, to ignore this attached final question, 
without blaming me, please, thanks again.
Ulrich


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

Date: 18 Aug 2006 03:43:44 -0700
From: "Paul Lalli" <mritty@gmail.com>
Subject: Re: MySql +DBI problem
Message-Id: <1155897824.691452.26030@75g2000cwc.googlegroups.com>

uttamhoode@gmail.com wrote:
>    i have a perl scipt which reads a CSV file and inserts the values
> into a mysql database.
> CSV file has around 75000 lines.
>
>  when i execute the script only aroud 31000 to 37000(varies each time)
> lines are inserted....I am using a remote mysql server

What kind of answer are you expecting to this question?  Obviously,
you've done something wrong.  But you've shown us absolutely no code
and no data, so how can we possibly help you to find what you've done
wrong?

Please read the Posting Guidelines for this group.  They are posted
here twice a week.  They will give you information on how to ask a good
question in this group.

Paul Lalli



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

Date: 18 Aug 2006 03:52:26 -0700
From: uttamhoode@gmail.com
Subject: Re: MySql +DBI problem
Message-Id: <1155898346.798778.202360@m79g2000cwm.googlegroups.com>

ok ok :) sorry for not posting the code

no of lines inserted varies on each execution

#===============================
#!/usr/bin/perl


use Socket;
use DBI;
use CGI qw/:standard/;

$query=new CGI;

print $query->header;


  # Connect to the database.
  my $dbh = DBI->connect("DBI:mysql:database=database
name;host=hostname",
                         "username", "password",
                         {'RaiseError' => 1})|| print "ERROR
CONNECTING";






open(FREADER,"csvfile.csv") or print "ERROR OPENING FILE \n";
if(!($error))
{
      my $ln;
      my $separator=$/;
      undef $/;
      $buff=<FREADER>;
      $/=$separator;
      undef $ln;
      close FREADER;
}
my $ln;
my $i=1;


foreach $ln (split("\n",$buff))
{
  $buff=~/REG EXP FOR SPLITTING EACH LINE/g;


  my $qry="INSERT INTO IP(A,B, C, D, E, F, G, H )
VALUES('$i','$1','$2','$8','$9','$14','$17',".$dbh->quote($20).")";
  $dbh->do($qry);


  $i++;
}

print $i;
my $errstr=$dbh->errstr;
print $errstr;


  $sth->finish();

  # Disconnect from the database.
  $dbh->disconnect();



close(MAILREADER);






usenet@DavidFilmer.com wrote:
> uttamhoode@gmail.com wrote:
> >  when i execute the script only aroud 31000 to 37000(varies each time)
> > lines are inserted....I am using a remote mysql server
>
> You have an error on line 42.
>
> And you're not checking your SQL return messages on lines 92, 111, and
> 141 (hint, hint).
> 
> -- 
> David Filmer (http://DavidFilmer.com)



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

Date: Fri, 18 Aug 2006 11:58:03 GMT
From: "A. Sinan Unur" <1usa@llenroc.ude.invalid>
Subject: Re: MySql +DBI problem
Message-Id: <Xns9823510898A42asu1cornelledu@127.0.0.1>

uttamhoode@gmail.com wrote in news:1155898346.798778.202360
@m79g2000cwm.googlegroups.com:

[ Please do not top-post. Please do not quote sigs. ]

> usenet@DavidFilmer.com wrote:
>> uttamhoode@gmail.com wrote:
>> >  when i execute the script only aroud 31000 to 37000(varies each 
>> > time) lines are inserted....I am using a remote mysql server
>>
>> You have an error on line 42.
>>
>> And you're not checking your SQL return messages on lines 92, 111, 
>> and 141 (hint, hint).

> ok ok :) sorry for not posting the code
> 
> no of lines inserted varies on each execution
> 
> #===============================
> #!/usr/bin/perl

use strict;
use warnings;

missing.

> use Socket;

Why is socket needed?

> use DBI;
> use CGI qw/:standard/;
> 
> $query=new CGI;

First off, why is CGI needed? 

Second, if you are going to use the OO interface,

use CGI;

Third,

my $cgi = CGI->new;

Indirect object notation looks cute, but it can lead to bugs.

> print $query->header;

Isn't it too soon to print a header?

>   # Connect to the database.
>   my $dbh = DBI->connect("DBI:mysql:database=database
> name;host=hostname",
>                          "username", "password",
>                          {'RaiseError' => 1})|| print "ERROR
> CONNECTING";

Because you have set RaiseError => 1, the print statement will never be 
reached.

> open(FREADER,"csvfile.csv") or print "ERROR OPENING FILE \n";

1. Prefer lexical filehandles.
2. Prefer the three argument form of open (even though it does not have 
any bearing here, it is good practice.
3. When a file cannot be opened, there is no point in just printing a 
message and chugging along.

my $filename = 'csvfile.csv';

open my $csvreader, '<', $filename
   or die "Cannot open '$filename': $!";

> if(!($error))

Where did $error come from?


> {
>       my $ln;
>       my $separator=$/;
>       undef $/;
>       $buff=<FREADER>;
>       $/=$separator;
>       undef $ln;
>       close FREADER;
> }

If you want to slurp, there are better ways of doing it.

However, you really, really do not want to slurp the whole file into 
memory before processing it. Instead, process the file line by line.

> my $ln;
> my $i=1;
> 
> 
> foreach $ln (split("\n",$buff))

Aaaargh! First of all, even if you wanted to slurp, why not just slurp the 
file into an array as a bunch of lines.

Second, you just effectively created a second copy of the large amount of 
data in memory.

> {
>   $buff=~/REG EXP FOR SPLITTING EACH LINE/g;

Why are you matching on the entire contents of the data file when you have 
just split it into lines?

Parse CSV files using CSV::XS.

>   my $qry="INSERT INTO IP(A,B, C, D, E, F, G, H )
> VALUES('$i','$1','$2','$8','$9','$14','$17',".$dbh->quote($20).")";


Use placeholders. Use prepare and execute (see perldoc DBI).

>   $dbh->do($qry);
>   $i++;
> }

So, the loop becomes (pseudo code):

my $sth = $dbi->prepare( ... );

while ( my $line = <$csvreader> ) {
   # get values
   # execute statement
   # use $. instead of $i
}

> print $i;

When you say X number of rows are inserted, are you just reporting this 
number, or are you actually checking the database?

> my $errstr=$dbh->errstr;

You have set RaiseError => 1, you would never reach this if there was an 
error.

> print $errstr;
> 
>   $sth->finish();

Where did $sth come from?

> close(MAILREADER);

Where did MAILREADER come from?

I strongly suspect this is not your real code. Please read and follow the 
posting guidelines for this group. Please do that soon.

I don't use databases much, but doesn't MySQL have a facility for bulk 
importing data? I mean, how many times do you need to import such a data 
set into the database? 

Sinan
-- 
A. Sinan Unur <1usa@llenroc.ude.invalid>
(remove .invalid and reverse each component for email address)

comp.lang.perl.misc guidelines on the WWW:
http://augustmail.com/~tadmc/clpmisc/clpmisc_guidelines.html



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

Date: 18 Aug 2006 05:06:41 -0700
From: "Paul Lalli" <mritty@gmail.com>
Subject: Re: MySql +DBI problem
Message-Id: <1155902801.457200.20290@m73g2000cwd.googlegroups.com>

uttamhoode@gmail.com wrote:
> ok ok :) sorry for not posting the code
>
> no of lines inserted varies on each execution
>
> #===============================
> #!/usr/bin/perl
>

you forgot:
use strict;
use warnings;

Those two lines should be in every script you write.  They catch 95% of
errors you are likely to make - including a couple you made below.

>
> use Socket;
> use DBI;
> use CGI qw/:standard/;
>
> $query=new CGI;
>
> print $query->header;
>
>
>   # Connect to the database.
>   my $dbh = DBI->connect("DBI:mysql:database=database
> name;host=hostname",
>                          "username", "password",
>                          {'RaiseError' => 1})|| print "ERROR
> CONNECTING";

So if you can't connect, you print an error, and then keep on going
regardless?

> open(FREADER,"csvfile.csv") or print "ERROR OPENING FILE \n";

So if you can't open the file, you print an error and keep on going,
regardless?

Also:
1) Use the three-argument form of open
2) Use lexical filehandles, not global barewords
3) State the *reason* the open failed

open my $FREADER, '<', 'csvfile.csv' or die "Error opening file: $!\n";

> if(!($error))

$error does not exist.  It is therefore undefined.  Therefore, this if
statement is *always* true.

> {
>       my $ln;

You never use this variable.

>       my $separator=$/;
>       undef $/;
>       $buff=<FREADER>;
>       $/=$separator;

Replace this entire mess with:
{
  local $/;
  $buff = <FREADER>;
}

The local() automatically restores $/ to its original value after the
block ends.

>       undef $ln;

Now you undefine that variable you never used, which of course was
already undefined - because you never used it.

>       close FREADER;
> }
> my $ln;

 ... and now you declare another variable of the same name as that never
used variable above.

> my $i=1;
>
>
> foreach $ln (split("\n",$buff))

Waitaminute.  You went through all that mess just to read the file into
one big scalar - and now you're processing that scalar on each "line"
within the file?!  WHY?!

Get rid of that entire nonsense above, and change this loop to:

while (my $ln = <$FREADER>) {

> {
>   $buff=~/REG EXP FOR SPLITTING EACH LINE/g;

Ah, so here you want us to believe that your regular expression matched
just fine, but have decided it's not worth showing us the code.  Have
you considered the possibility that you have an error here?

Do you also realize that you have the current "line" in $ln, but you
are matching against the entire $buff?


>   my $qry="INSERT INTO IP(A,B, C, D, E, F, G, H )
> VALUES('$i','$1','$2','$8','$9','$14','$17',".$dbh->quote($20).")";

NEVER ever use the values $1, $2, etc without ensuring that the pattern
match succeeded.  If it didn't, all those numbers are whatever they
were last time the pattern match did succeed.

>   $dbh->do($qry);

You should really *really* be preparing this insert once, using
placeholders, and then executing it multiple times.


>   $i++;

This counter variable is unnecessary as you should now be reading the
file one line at a time, and the line number is stored in the $.
variable for you.

> }
>
> print $i;
> my $errstr=$dbh->errstr;

You realize this errstr is only valid for the *last* time you tried to
insert, ignoring all the previous attempts, right?

> print $errstr;
>
>
>   $sth->finish();
>
>   # Disconnect from the database.
>   $dbh->disconnect();

I strongly suggest you get rid of that massive regular expression that
apparently has at least 20 sub-captures, and use a module made for
parsing CSV files, like say Text::CSV.  You can find it on the CPAN:
http://search.cpan.org

Paul Lalli



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

Date: Fri, 18 Aug 2006 14:03:52 +0200
From: "Dr.Ruud" <rvtol+news@isolution.nl>
Subject: Re: MySql +DBI problem
Message-Id: <ec4hli.170.1@news.isolution.nl>

uttamhoode@gmail.com schreef:

>    i have a perl scipt which reads a CSV file and inserts the values
> into a mysql database.
> CSV file has around 75000 lines.
>
>  when i execute the script only aroud 31000 to 37000(varies each time)
> lines are inserted....I am using a remote mysql server

This is not a Perl question.

Very probably, MySQL is dropping some updates because of a constraint,
like a PK you are trying to reuse.

-- 
Affijn, Ruud

"Gewoon is een tijger."




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

Date: 18 Aug 2006 04:35:53 -0700
From: Swanand.Kakade@gmail.com
Subject: Re: Not able to connect socket ....
Message-Id: <1155900953.433628.39110@h48g2000cwc.googlegroups.com>


But i want connect to specific ip address and specific port...
INADDR_ANY connects to 0.0.0.0: 0(port) ....
which will work at any time?
but how can i connect to specific and send and receive messages...

Is there any another way to do this ?
pls help me out.....


Sisyphus wrote:
> <Swanand.Kakade@gmail.com> wrote in message
> .
> .
> >
> > Pls can any one tell me what is that error  " bind: Unknown error
>
> I'm not sure - I usually use IO::Socket instead of Socket for this sort of
> thing. I think it might be because the second argument to sockaddr_in() is
> inappropriate.
>
> Here's a server script and a client script, based on what you provided and
> on code from the Perl Cookbook, that do work for me (on Windows 2000).
> Perhaps you can build on them to do what you want. (They run from different
> consoles on localhost.):
>
> server.pl
> ------------
>  use strict;
>  use warnings;
>  use Socket;
>
>  # use port 7890 as default
>  my $host = shift || 'localhost';
>  my $port = shift || 7890;
>  my $proto = getprotobyname('tcp');
>
>  # create a socket, make it reusable
>  socket(SERVER, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
>  setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, 1) or die "setsock: $!";
>
>  # grab a port on this machine
>  my $paddr = sockaddr_in($port, INADDR_ANY);
>  #my $paddr = sockaddr_in($port,inet_aton('proddev'));
>
>  # bind to a port, then listen
>  bind(SERVER, $paddr) or die "bind: $!";
>  listen(SERVER, SOMAXCONN) or die "listen: $!";
>  print "SERVER started on port $port\n";
>
> while (accept(CLIENT, SERVER)) {
>       print "Got a connection which said:\n";
>       my $got = <CLIENT>;
>       print $got, "\n";
> }
> -----------
>
> client.pl
> -----------
> use strict;
> use warnings;
> use Socket;
>
>   # initialize host and port
>  my $host = shift || 'localhost';
>  my $port = shift || 7890;
>
>  my $proto = getprotobyname('tcp');
>
>  # get the port address
>  my $iaddr = inet_aton($host);
>  my $paddr = sockaddr_in($port, $iaddr);
>  # create the socket, connect to the port
>  socket(SOCKET, PF_INET, SOCK_STREAM, $proto)
>  or die "socket: $!";
>  connect(SOCKET, $paddr) or die "connect: $!";
>
>  my $line = "Hello there!!\n";
>
>  print SOCKET $line;
>
>  close SOCKET or die "close: $!";
> ---------
>
> The server script runs continuously. The client script connects to the
> server, then exits.
> 
> Cheers,
> Rob



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

Date: 18 Aug 2006 05:12:15 -0700
From: "Brian McCauley" <nobull67@gmail.com>
Subject: Re: Not able to connect socket ....
Message-Id: <1155903135.421132.126670@p79g2000cwp.googlegroups.com>

Swanand.Kakade@gmail.com wrote:

>  my $paddr = sockaddr_in($port, gethostbyname('proddev'));

You are calling gethostbyname() in a list context.

I think you meant to say.

my $paddr = sockaddr_in($port, scalar(gethostbyname('proddev')));

>  bind(SERVER, $paddr) or die "bind: $!";
>  listen(SERVER, SOMAXCONN) or die "listen: $!";

Anyhow, is there any reason you listen on a specific IP address rather
than just INADDR_ANY?



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

Date: 18 Aug 2006 03:07:06 -0700
From: "gavino" <bootiack@yahoo.com>
Subject: who needs perl when you haev happs?
Message-Id: <1155895626.001449.127510@75g2000cwc.googlegroups.com>

What applications benefit from HAppS?

HTTP requests and SMTP envelopes encapsulate transactions and not vice
versa.
Note: doing otherwise with LAMP is considered bad design because it
implies a requirement to maintain and garbage collect database
connections arbitrarily. So this should not be a high hurdle.

All operating data fits in memory (store blobs on disk.)
Note: Although this seems like a high hurdle, COTS servers with 12gb of
memory are readily accessible and some vendors let you reach up to
500gb of RAM. FYI, eBay has around 50M active users. If you maintained
1k of queryable data for each of their users, you would need only 50GB.
(You would also need to recompile your app for 64bits so the math is a
little more involved but you get my point).

You don't need more CPU power to server your app than you can obtain in
a single machine.
Note: I have not benchmarked this code yet, but another Haskell server
was benchmarked at near 1000 HTTP transactions per second on a Pentium
4 in 2000. Modern web servers with similar architecture can serve 10k
HTTP transactions per second. eBay serves 400M page views per day,
which comes to an average load of 5000 hps and a peak load of perhaps
50k hps. In other words, an OTS 8 CPUs system, could handle all of
eBay's HTTP traffic.

I am not saying that using HAppS, you could serve all of eBay on a
single box. I am saying that your application is likely to be well
within the constraints required for HAppS to make sense for it.



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

Date: Fri, 18 Aug 2006 14:06:15 +0200
From: "Dr.Ruud" <rvtol+news@isolution.nl>
Subject: Re: Win32::OLE problem
Message-Id: <ec4hlj.170.1@news.isolution.nl>

Iain McLaren schreef:


> $newdoc->ReplaceItemValue(Type, 'Person');


Alternatives:

  $newdoc->ReplaceItemValue(Type => 'Person');

  $newdoc->ReplaceItemValue('Type' => 'Person');

-- 
Affijn, Ruud

"Gewoon is een tijger."




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

Date: Fri, 18 Aug 2006 14:02:59 +0100
From: "Iain McLaren" <iain.mclaren@removethis.scott-moncrieff.moc>
Subject: Re: Win32::OLE problem
Message-Id: <44e5ba84$0$2558$fa0fcedb@news.zen.co.uk>

I think I tried them in the course of my investigation (ie guesswork) 
without success... I may be wrong though :-)

Cheers,

Iain

"Dr.Ruud" <rvtol+news@isolution.nl> wrote in message 
news:ec4hlj.170.1@news.isolution.nl...
> Iain McLaren schreef:
>
>
>> $newdoc->ReplaceItemValue(Type, 'Person');
>
>
> Alternatives:
>
>  $newdoc->ReplaceItemValue(Type => 'Person');
>
>  $newdoc->ReplaceItemValue('Type' => 'Person');
>
> -- 
> Affijn, Ruud
>
> "Gewoon is een tijger."
>
> 




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

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


Administrivia:

#The Perl-Users Digest is a retransmission of the USENET newsgroup
#comp.lang.perl.misc.  For subscription or unsubscription requests, send
#the single line:
#
#	subscribe perl-users
#or:
#	unsubscribe perl-users
#
#to almanac@ruby.oce.orst.edu.  

NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice. 

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

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

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


------------------------------
End of Perl-Users Digest V10 Issue 9625
***************************************


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