[13996] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 1406 Volume: 9

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Wed Nov 17 09:11:24 1999

Date: Wed, 17 Nov 1999 06:10:15 -0800 (PST)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Message-Id: <942847814-v9-i1406@ruby.oce.orst.edu>
Content-Type: text

Perl-Users Digest           Wed, 17 Nov 1999     Volume: 9 Number: 1406

Today's topics:
        Mysql Works... and then doesn't.. and then does etc. <iain_black@my-deja.com>
    Re: Please help me create a file with perl (Bart Lateur)
    Re: reading html files <nigell.boulton@rade.net>
    Re: reading html files <gellyfish@gellyfish.com>
    Re: reading one line at a time (Sitaram Chamarty)
        reduce in List::Util (was Re: Trying to use a variable  <rhomberg@ife.ee.ethz.ch>
    Re: Serious memory leak in MacPERL? (Tom Sheppard)
    Re: Serious memory leak in MacPERL? (Tom Sheppard)
        sort defaults to? <rhardicr@mail.ford.com>
    Re: thanks all muhudin@my-deja.com
    Re: Trying to use a variable as an operator (Mark-Jason Dominus)
    Re: Trying to use a variable as an operator (Mark-Jason Dominus)
    Re: Trying to use a variable as an operator <jeb@burkby.com>
        Use sort function with reference to subroutine? <thelma@alpha2.csd.uwm.edu>
        Digest Administrivia (Last modified: 16 Sep 99) (Perl-Users-Digest Admin)

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

Date: Wed, 17 Nov 1999 13:34:48 GMT
From: Iain Black <iain_black@my-deja.com>
Subject: Mysql Works... and then doesn't.. and then does etc.
Message-Id: <80uato$qjn$1@nnrp1.deja.com>

Hi all,

Okay this is an interesting one and has me pretty baffled.

I'm using a SuSE 6.1 2.2.7 Linux, MySQL, Apache, Perl and Netscape
compo.

I have a Perl script which accesses a DB and reads and writes to it,
everything seems to work fine... at least for the first 10 accesses to
the DB. After that the script still works but the results come back
blank.I don't think it's a problem with my script as I've had it running
on 2 different virtual servers and the DB accesses seem to work fine.

It's only when run locally that there's seems to be a problem. Say I run
a cgi script which outputs a html page with some rows from the DB. It'll
work for the first 6 or 10 times (just hitting reload on the script) but
then the next 3 or 4 times the script still runs ok but I get back blank
rows and then it'll work again for another time and then stop again for
good.

I've tried rebooting mysqld but that doesn't make any difference, once
it stops working, it stops for good. The only way to get it up working
again is to reboot Linux, which as you can imagine makes testing pretty
awkward!

My guess is that there's something wrong with my setup of Mysql.

Here's the DB accessing part of my perl script just in case you can see
something obviously wrong with it.

# Create a connection to the database.

use DBI;
$|= 1;
$host= shift || "";
   $DSN  = "DBI:mysql:myDBname";
$user = "myusername";
# $user = "root";
$pass = "not that silly";
#   $pass = "";

$dbh  = DBI->connect($DSN,$user,$pass)

  || die "Cannot connect: $DBI::errstr\n" unless $dbh;

 ...
 ...

$SQL="SELECT * FROM c64links WHERE type LIKE '%z%' ORDER BY HITS DESC";

# Executes the SQL command and then
# returns to the calling area of the
# program.

eval{

	$sth = $dbh->prepare($SQL);
	}; # End of eval

# Check for errors.

if($@){

	$dbh->disconnect;
	print "Content-type: text/html\n\n";
	print "An ERROR occurred! $@\n";
	exit;
	} else {
   	$sth->execute;

   	} # End of if..else

 ...
 ...

while ($pointer = $sth->fetchrow_hashref){

	$name = $pointer->{'name'};
	$address = $pointer->{'address'};
	$desc  = $pointer->{'descr'};
	$hits = $pointer->{'hits'};
        # do whatever here
}

and at the end of the script I just do a

# Disconnect from the database (DON'T FORGET THIS!)

$dbh->disconnect;

Does anybody have any idea what the problem could be?!

Thanks!

--
The Def Guide to Zzap!64 - http://www.zzap64.co.uk
Iain's C64 Pages ttp://www.zzap64.co.uk/c64/


Sent via Deja.com http://www.deja.com/
Before you buy.


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

Date: Wed, 17 Nov 1999 10:17:42 GMT
From: bart.lateur@skynet.be (Bart Lateur)
Subject: Re: Please help me create a file with perl
Message-Id: <383a7fc6.8401657@news.skynet.be>

Jonas Nilsson wrote:

>I have tried everything now but I still get Internal Server Error. It
>create the file and set the right permission but I get the error.
>More tips thanks.

You should be able to look at the error output. Try

	use CGI::Carp 'fatalsToBrowser';

-- 
	Bart.


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

Date: Wed, 17 Nov 1999 09:12:16 -0000
From: "Nigell Boulton" <nigell.boulton@rade.net>
Subject: Re: reading html files
Message-Id: <3832668a.0@news.netdirect.net.uk>

Their is a web site here the UK that allows users to read their news feed
www.guardianunlimited.co.uk/distribution

I want to read the various news feeds and either have the text on my site or
import into a database.

I want to know how to read the html from these feeds.

A html parser is more or less what I am trying to build

regards
Nigell Boulton




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

Date: 17 Nov 1999 12:48:16 GMT
From: Jonathan Stowe <gellyfish@gellyfish.com>
Subject: Re: reading html files
Message-Id: <3832a410_1@newsread3.dircon.co.uk>

Nigell Boulton <nigell.boulton@rade.net> wrote:
> Their is a web site here the UK that allows users to read their news feed
> www.guardianunlimited.co.uk/distribution
> 

Er yes I am aware of that. I think you mean just down the road dont you.

> I want to read the various news feeds and either have the text on my site or
> import into a database.
> 
> I want to know how to read the html from these feeds.
> 
> A html parser is more or less what I am trying to build
> 

Of course you have been given the answer already - use LWP::UserAgent and
HTML::Parser and Robert's your mothers brother ... But it does appear that
some people have difficulty with HTML::Parser here is a short example that
does nearly everything that you want ...  The url is for the Online section
and is split over two lines simply for aesthetic purposes :

#!/usr/bin/perl -w

use strict;

require LWP::UserAgent;

my $news_url = 'http://www.guardianunlimited.co.uk/Distribution/'.
               'Artifact_Trail_Block/0,5184,52117-0-,00.html';

my $ua = new LWP::UserAgent;

my $request = new HTTP::Request('GET', $news_url);

my $response = $ua->request($request); 

if ( $response->is_success)
  {
    my $pn = new ParseNews;
    
    my $arts = $pn->get_articles($response->content);

    foreach (@{$arts})
      {
        print +join(',', @{$_}),"\n";
      }
  }
else
  {
    print $response->status_line,"\n";
  }


BEGIN 
{

   package ParseNews;

   require HTML::Parser;

   @ParseNews::ISA = qw(HTML::Parser);

   sub new
   {
      my $this = shift;
   
      my $class = ref($this) || $this;

      my $self = $this->SUPER::new();

      $self->{ITEMS}  = undef; # Will hold  array of articles
      $self->{ARTICLE} = undef;
      $self->{_intable} = 0;
      $self->{_inrecord} = 0;
      $self->{_infield} = 0;
      $self->{_got_href} = 0;

      return bless($self,$class);
   }

   sub get_articles
   {
     my ($self,$content) = @_;


     $self->parse($content);

     return $self->{ITEMS};
   }

   sub start()
   {
      my($self,$tag,$attr,$attrseq,$orig) = @_;
      if ($tag eq 'table')
        {
         $self->{ITEMS} = ();
         $self->{_intable}++;
        }
      if ( $tag eq 'tr' )
        {
          $self->{ARTICLE} = ();
          $self->{_inrecord}++ ;
        }
   
      $self->{_infield}++ if ( $tag eq 'td' );

      if ( $tag eq 'a' && $self->{_infield})
        {
           $self->{_got_href}++ if ($self->{ARTICLE}->[0] = $attr->{href})
        }
   }

   sub end()
   {
      my ($self,$tag) = @_;
      $self->{_intable}-- if($tag eq 'table');
      $self->{_infield}-- if($tag eq 'td');

      if($tag eq 'tr')
       {
        $self->{_inrecord}--;
        push @{$self->{ITEMS}},\@{$self->{ARTICLE}};
       }

      $self->{_got_href}-- if ($tag eq 'a' && $self->{_got_href} );
   }

   sub text()
   {
      my ($self,$text) = @_;
      if ($self->{_intable} && $self->{_inrecord} && $self->{_infield} )
        {
         $text =~ s/^\s+/ /;
         $text =~ s/\s+$/ /;
         if ($self->{_got_href} )
           {
             $self->{ARTICLE}->[1] .= $text;
           }
         else
           {
             $self->{ARTICLE}->[2] .= $text;
           }
        }
   }

}
__END__

This simply prints out the three fields with commas between them which
is not such a good thing as the URLs have commas in them as well - but
you would want to print the stuff returned from get_articles() in your
own way.  

You will probably still want to see the manpages for LWP::UserAgent and
HTML::Parser if you have any difficulty understanding what is going
on here ...

/j\
-- 
"While they're pumping, you're soaking them" - Speed Loader TV Advert


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

Date: Wed, 17 Nov 1999 11:37:49 GMT
From: sitaram@dimensional.com (Sitaram Chamarty)
Subject: Re: reading one line at a time
Message-Id: <slrn833qaq.3kq.sitaram@dimensional.com>

On Tue, 16 Nov 1999 22:21:15 GMT, n.thiyagarajan <jazz108@yahoo.com> wrote:
>hi everyone,
>
>i want to open a file and read in on line at a time using perl.
>any suggestions?

Yes.  Hire a programmer :-)  Preferably someone who has read a
bare minimum of documentation!


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

Date: Wed, 17 Nov 1999 10:43:45 +0100
From: Alex Rhomberg <rhomberg@ife.ee.ethz.ch>
Subject: reduce in List::Util (was Re: Trying to use a variable as an operator)
Message-Id: <383278D1.7D7A0840@ife.ee.ethz.ch>

Mark-Jason Dominus wrote:

> [[combine]]
> ***********
> 
>         @list1 = (1,2,3,4,5);
>         @list2 = (2,3,5,7,11);
>         @result = combine { $a + $b } @list1, @list2;
> 
> [[@result]] is [[(3,5,8,11,16)]]

This could be a nice addition to List::Util by 
Graham Barr <gbarr@pobox.com>

reduce is already in there

- Alex


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

Date: Wed, 17 Nov 1999 13:11:42 GMT
From: sheppard@magma.ca (Tom Sheppard)
Subject: Re: Serious memory leak in MacPERL?
Message-Id: <sheppard-1711990811420001@192.168.0.1>

In article <spamfree-1311991515360001@d5.metropolis.net.au>,
spamfree@metropolis.net.au (Henry Penninkilampi) wrote:

> Rather than deleting the hash in one chomp, you could try to nibble it:
> 
> foreach $key (keys %someHash) { push @tempArray, $key; }
> while ($tempArray) { delete $someHash{pop @tempArray}; }
>   
> This is under the assumption that the memory leak comes from using undef,
> and is not present in delete or pop.
> 
> I've never tested the above code, or used it in any way, so there might be
> some flaws with it.  Consider it pseudo-code.  Tweak and repair as
> required and see if it works.

Regrettably, this will not work as the hashes are so large that the
"foreach" can not be executed without running out of memory. It seems that
Perl tries to create an array of keys rather than just walking down the
hash. As a result, this creates an even higher memory demand. The
"foreach" cannot be used for any purpose, let alone delete.

Even the "undef" takes a long time so I assume the hash is composed of
many entries linked together which have to be individually freed. I don't
know if it's possible to preallocate memory in one chunk for a hash and
then free that quickly and completely.

Thanks for the suggestion though. It should have worked.

 ...Tom


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

Date: Wed, 17 Nov 1999 14:03:17 GMT
From: sheppard@magma.ca (Tom Sheppard)
Subject: Re: Serious memory leak in MacPERL?
Message-Id: <sheppard-1711990903180001@192.168.0.1>

In article <pudge-1511991301330001@192.168.0.77>, pudge@pobox.com (Chris
Nandor) wrote:

> I suggest you use the MacPerl mailing lists.
> 
>     http://www.macperl.org/

Thanks. I've subscribed to a couple of lists. When I searched the archives
I noticed many postings on memory leaks in MacPerl. That's disappointing.
I hope most of them have been cleaned up.

I couldn't find any discussion about "undef" memory leaks though so I'll
post my question to the list.

 ...Tom


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

Date: Wed, 17 Nov 1999 12:31:38 +0000
From: Richard H <rhardicr@mail.ford.com>
Subject: sort defaults to?
Message-Id: <3832A02A.23FDA124@mail.ford.com>

Hi, 
I have a hash keyed by numbers and or text, I know i can do :

for (sort {$a <=> $b || uc($a) cmp uc($b) } keys %allrows) {
    print "$_ : @{ $allrows{$_} } \n";
}

to sort, but if I just use :

for (sort {$a <=> $b} keys %allrows) {
    print "$_ : @{ $allrows{$_} } \n";
}

the numbers are sorted but the text keys are not, 
will this sort impose any order to the entries keyed with text
or does <=> evaluate them all to 1 ? 
or do the text one not get sorted at all now?

thanks,
Richard H


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

Date: Wed, 17 Nov 1999 12:11:45 GMT
From: muhudin@my-deja.com
Subject: Re: thanks all
Message-Id: <80u61v$n9j$1@nnrp1.deja.com>



> With that mentality I'd rather not have you as a fellow programmer
>
> Erik

what mentality? Is asking help such a bad idea?? I think this newsgoup
is helping each other out. I think you have an attitude problem and you
need to change your way of thinking......

I do not like your patronizing attitude quite frankly..


Sent via Deja.com http://www.deja.com/
Before you buy.


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

Date: Wed, 17 Nov 1999 08:39:22 GMT
From: mjd@op.net (Mark-Jason Dominus)
Subject: Re: Trying to use a variable as an operator
Message-Id: <80tpir$rbh$1@monet.op.net>

In article <ZZkY3.19536$YI2.841485@typ11.nn.bcandid.com>,
Kragen Sitaker <kragen@dnaco.net> wrote:
>In article <80si09$o0m$2@info2.uah.edu>, Greg Bacon <gbacon@cs.uah.edu> wrote:
>>Have you seen mjd's implementation of reduce in Perl?  
>
>Well, you could do it fairly trivially like this:
>
>...
>
>But somehow "reduce { shift() + shift() } 1, 2, 3, 4" doesn't have the
>cachet of "+/1 2 3 4".

Yeah.  Someday I'm going to write APL.pm.  Then the world will
tremble.  Except for the Python folks, who will be too busy saying
that they knew it all along.

>(Disclaimer: I haven't read mjd's reduce; it's not my fault if his is
>the same as mine because my implementation is the most obvious one.

Mine is a little more fun.  Here are the slides.  I hereby relinquish
whatever intellectual property right I had in the code.

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


Build Your Own [[map]]
**********************

o [[map]] and [[grep]] are great.

o Wouldn't it be nice to make some new, similar operators?

o Example:

	$n = reduce { $a + $b } 1, 4, 2, 8, 5, 7

(Yields the sum, 27)

	$n = reduce { $a * $b } 1, 4, 2, 8, 5, 7

(Yields the product, 2240)

	$n = reduce { $a > $b ? $a : $b } 1, 4, 2, 8, 5, 7

(Yields the max, 8)

	$n = reduce { [@$a, $b] } 1, 4, 2, 8, 5, 7

(Yields a list, [1,4,2,8,5,7])

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

[[reduce]]
**********

	sub reduce (&$@) {
	  my $code = shift;
	  local $a = shift;

	  for (@_) {
	    local $b = $_;
	    $a = &$code;
	  }

	  $a;
	}

o [[(&$@)]]?!

o [[local]]?!

o Why [[$a]] and [[$b]]?

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

[[reduce]]
**********

o Here's a fine, fine trick.

o Let's write a [[reduce]] call to ask if a list contains all positive numbers.

	reduce { $a && $b > 0 } "yes", @list;

o If you apply this to the list [[(0 .. 1000000)]], it goes all way to the end

o Solution:

	reduce { $a && $b > 0 || ($a=undef, last) } "yes", @list;

o [[last]]?!

o Yes!  [[last]] is dynamically scoped!

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

[[combine]]
***********

        @list1 = (1,2,3,4,5);
        @list2 = (2,3,5,7,11);
        @result = combine { $a + $b } @list1, @list2;

[[@result]] is [[(3,5,8,11,16)]]

	sub combine (&\@\@) {
	  my ($code, $ar1, $ar2) = @_;
	  my @result;

          while (@$ar1 && @$ar2) {
            local $a = shift @$ar1;
            local $b = shift @$ar2;
            push @result, &$code;   
	  }

	  @result;
	}

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


>(Note that the above reduce() works from the right, like APL's.  

That's probably a better design.  (Note for people not familiar with
APL: -/1 2 3 4 5 6 is 1-2-3-4-5-6, which in APL means
1-(2-(3-(4-(5-6)))), which turns out to be equal to 1-2+3-4+5-6.  This
is clearly more useful than having -/1 2 3 4 5 6 mean
((((1-2)-3)-4)-5)-6, because if you wanted that you could write 
1 - +/2 3 4 5 6 instead.)

>(Hmm, would grade-up have been nicer if it had taken an operator as an
>argument like reduce did, and like Perl's sort does?  

Yeah.  It's funny that Iverson didn't think of it.  Oh, I know why
not.  You need a spaceship operator for it to be useful.  (Note for
APL folks: In Perl, the <=> (`spaceship') operator returns a negative
value if its left operand is numerically less than its right operand,
positive if vice vera, and 0 if they are equal.)  

I was thinking that if you had a generic `grade' operator, you would
say

	grade > VECTOR

to get the effect of grade-up.  But of course > doesn't yield enough
information.  

But you never could apply / or . or the other APL metaoperators to
user-defined functions in APL, which removes a lot of the usefulness
of such an extension.  I think J has something like that though.

>Wouldn't it be nice to have a Perl grade-up?  

It's not usually worth writing a subroutine, because it's so easy to
say

	sort {$w[$a] cmp $w[$b]} (0 .. $#w);

or whatever.  But I think that's a technique that should be more
widely known.  So here are the slides about it from my talk `Return to
the Perl Hardware Store'.



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

The Indirect Sort
*****************

o You have two parallel arrays

o Sort one into the order specified by the other.

o Example:

	@first		@last

	Albert		Einstein
	Mark		Dominus
	Morton		Zeemeister
	Babe		Ruth
	Nat		Torkington
	Larry		Wall
	

o Sort [[@first]] into order [[Mark, Albert, Babe, Nat, Larry, Morton]].

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

The Indirect Sort
*****************

	0         1        2           3     4           5
	Albert    Mark     Morton      Babe  Nat         Larry
	Einstein  Dominus  Zeemeister  Ruth  Torkington  Wall

o Solution: Sort the list of _indices_ into order:

	@indices = sort {$last[$a] cmp $last[$b]} (0 .. $#last);

o [[@indices]] is now [[1, 0, 3, 4, 5, 2]]

o Then slice:

	@sorted = @first[@indices];

o Result: [[Mark, Albert, Babe, Nat, Larry, Morton]].

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

The Indirect Indirect Sort
**************************

	@fruit   = qw(Durian Cherry Apple Eggplant Banana);
	@indices = sort {$fruit[$a]   cmp $fruit[$b]  } (0 .. $#fruit);

o [[@indices]] is 2, 4, 1, 0, 3.

o The alphabetically first item is #2; alphabetically second is #4, etc.

o Do the same thing again

	@ranks   = sort {$indices[$a] <=> $indices[$b]} (0 .. $#fruit);

o [[@ranks]] is 3, 2, 0, 4, 1

o The Durian is third, the Cherry is second, the Apple is 0th.

	@ordinal = qw(first second third fourth fifth);
	for ($i=0; $i<@fruit; $i++) {
	  print "The $fruit[$i] will come $ordinal[$ranks[$i]]\n";
	}
	# ``The Durian will come fourth.''
	# ``The Cherry will come third.''

o [[@ranks]] has the _opposite_ _meaning_ of [[@indices]]

o I borrowed this from the APL folks

o Those APL folks are twisted.  Stay away from them.

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



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

Date: Wed, 17 Nov 1999 08:56:46 GMT
From: mjd@op.net (Mark-Jason Dominus)
Subject: Re: Trying to use a variable as an operator
Message-Id: <80tqjh$rl5$1@monet.op.net>

In article <80tpir$rbh$1@monet.op.net>, Mark-Jason Dominus <mjd@op.net> wrote:
>I was thinking that if you had a generic `grade' operator, you would
>say
>
>	grade > VECTOR
>
>to get the effect of grade-up.  But of course > doesn't yield enough
>information.  

Duh, of course it does.  See what happens when you post at 3:30 AM?

>But you never could apply / or . or the other APL metaoperators to
>user-defined functions in APL, which removes a lot of the usefulness
>of such an extension.

I should just have stuck with this answer.


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

Date: Wed, 17 Nov 1999 10:22:46 GMT
From: Joe Burpee <jeb@burkby.com>
Subject: Re: Trying to use a variable as an operator
Message-Id: <38328215.D08A6D61@burkby.com>

Mark-Jason Dominus wrote:
> >But you never could apply / or . or the other APL metaoperators to
> >user-defined functions in APL, which removes a lot of the usefulness
> >of such an extension.
> 
> I should just have stuck with this answer.

Only if you're referring to the distant past.  It seems to me this
restriction began to disappear a couple of decades ago, and I believe
it's gone in all modern implementations.

Thus you can use whatever spaceship operator you want.  I think you're
right that the APLs lack a single primitive for <=>.  But a trivial
alternative is an operator expression such as *@- in J, or a dynamic
function in Dyalog APL such as { x A - W }.  In the latter case the
braces perform a similar role to those around a Perl block; the symbols
x, A, W are stand-ins for APL chars: signum, alpha (left arg), and omega
(right arg), respectively.

So I suppose that removes the excuses.  APL doesn't have a builtin sort
operator taking an arbitrary comparison function as an operand, and I
guess there's no good reason why not.  But one can always write such a
thing, as an operator in Dyalog APL, or an adverb in J.

BTW, one thing missing from your reduce seems to be the handling of the
empty-list case, which for many APL primitives would return the identity
element.  These can be useful for consistency in some expressions.  I
guess you could trap an undef $a in the &$code block.

And, rather than going the recursive route, presumably you could make
your reduce go right-to-left as in APL, by using pop instead of shift.

Joe


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

Date: 17 Nov 1999 14:00:50 GMT
From: Thelma Lubkin <thelma@alpha2.csd.uwm.edu>
Subject: Use sort function with reference to subroutine?
Message-Id: <80ucei$jnl$1@uwm.edu>

I am trying to use the perl sort function with a reference to a subroutine
that will define the particular sort wanted for various cases.
I've been unable to figure out how to do this; apparently the syntax 
I'm using makes the array to be sorted an argument of the sort subroutine,
and arguments to this subroutine are  not allowed.  Here's an example, 
along with the error message it generates:

What I ran:
----------------------
#!/usr/bin/perl -w
use strict;

sub asub;                     #### Declare subroutine with sorting instructions
my $subref = \&asub;          #### Reference to the subroutine

my @aray = (9, 14, 6, 11);    #### An array to be sorted

@aray = sort &$subref @aray;  #### Attempt to use sort function: fails
print "aray: @aray\n";

sub asub                      #### Subroutine with sorting instructions
{ $a <=> $b; }

When I ran it
---------------------
Script started on Wed Nov 17 07:50:25 1999
~/www.cgi-bin/ Wed 7:50am 17 Nov alpha2			
Array found where operator expected at try line 11, at end of line
	(Missing operator before ?)
syntax error at try line 11, near "$subref @aray"
Execution of try aborted due to compilation errors.
~/www.cgi-bin/ Wed 7:50am 17 Nov alpha2			
exit
script done on Wed Nov 17 07:50:47 1999

What do I need to correct?
                       thanks,
                      --thelma



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

Date: 16 Sep 99 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 16 Sep 99)
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: The mail to news gateway, and thus the ability to submit articles
| through this service to the newsgroup, has been removed. I do not have
| time to individually vet each article to make sure that someone isn't
| abusing the service, and I no longer have any desire to waste my time
| dealing with the campus admins when some fool complains to them about an
| article that has come through the gateway instead of complaining
| to the source.

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 V9 Issue 1406
**************************************


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