[19982] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 2177 Volume: 10

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Thu Nov 22 00:10:30 2001

Date: Wed, 21 Nov 2001 21:10:09 -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: <1006405809-v10-i2177@ruby.oce.orst.edu>
Content-Type: text

Perl-Users Digest           Wed, 21 Nov 2001     Volume: 10 Number: 2177

Today's topics:
    Re: Traversing directories <rafalk@home.com>
        variable scope <matthew.garrish@sympatico.ca>
    Re: variable scope <ilya@martynov.org>
    Re: variable scope <matthew.garrish@sympatico.ca>
    Re: variable scope <ilya@martynov.org>
    Re: variable scope <matthew.garrish@sympatico.ca>
    Re: variable scope <ilya@martynov.org>
    Re: variable scope <matthew.garrish@sympatico.ca>
    Re: variable scope <krahnj@acm.org>
    Re: variable scope <uri@stemsystems.com>
    Re: variable scope <matthew.garrish@sympatico.ca>
    Re: variable scope <ahamm@programmer.net>
    Re: variable scope <uri@stemsystems.com>
    Re: variable scope <wyzelli@yahoo.com>
    Re: variable scope <matthew.garrish@sympatico.ca>
    Re: Where can I learn about object-oriented Perl progra (Chris Fedde)
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Thu, 22 Nov 2001 02:13:41 GMT
From: Rafal Konopka <rafalk@home.com>
Subject: Re: Traversing directories
Message-Id: <3BFC61CD.2B1B7694@home.com>

Gentlemen

Many thanks to all who replied.  Wow, talk about a storm in a teacup!

If I may offer my two cents, I think it's good to realize that pople who
post questions to this group--and I have been a lurker and help-seeker
for many years now (though the frequency is probably 2/year) are not all
Perl pros.  The majority come here with a legitimate problem, and often
(I certainly consider myself in this category) seek some learning
experience.  To many of us, perl is a great tool, where with a couple of
simplelines of code you can do what would take hours to do by hand.  And
sometimes a quick and dirty solution is all we really need.

I got a good chuckle from sysop's comment on Unix and find--in my
previous incarnation, I was a Unix sysadmin.  In fact, I could have very
easily gone for a solution where system("dir *.htm /b/s") would get
loaded to a list array and that would be it (even simpler than "find"
:-).  I wanted to learn, however, how to do it in "pure" perl.

Yes, Randal, I did look up file::find, but couldn't make heads or tails
of the manpage.  That was not very helpful :-(.  Tad's solution was
informative and looked good and elegant.  Unfortunately, it exited with
an error. Likely, the version of perl (5.003) that is running on my
machine is to blame.  And yes, Tad, having spent years in academia, I
should have known better: I should have mentioned that the Camel book I
was using was the very first edition (1990).

Indeed, sysop's solution was the one I adopted.  It too produced errors
(my perl didn't like "my" operator, but I could modify the code very
quickly to do exactly what I wanted.  It was a good "learning
experience."

Once again, many thanks to all; Happy Thanksgiving...and please more
patience with semi-newbies :-).

Rafal


-- 
=================
Rafal S. Konopka
<rafalk@home.com>
=================


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

Date: Wed, 21 Nov 2001 18:34:54 -0500
From: "Matt Garrish" <matthew.garrish@sympatico.ca>
Subject: variable scope
Message-Id: <7OWK7.23798$pd.2757590@news20.bellglobal.com>

There's probably a simple explanation to this, but could someone explain why
the following gratuitous use of 'my $row' under strict doesn't result in any
errors,  but outputs three 2s:

use warnings;
use strict;

my @rows = (1, 2, 3);

my $row = 1;

foreach my $row (@rows) {

   my $row = 2;

   print "$row\n";

}

I accidentally wrote something similar to this while trying to propagate a
database and only found the error when the sql statement died because it was
using the wrong value for $row.

Matt




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

Date: 22 Nov 2001 02:51:17 +0300
From: Ilya Martynov <ilya@martynov.org>
Subject: Re: variable scope
Message-Id: <87d72by96y.fsf@abra.ru>

>>>>> On Wed, 21 Nov 2001 18:34:54 -0500, "Matt Garrish" <matthew.garrish@sympatico.ca> said:

Matt> There's probably a simple explanation to this, but could someone
Matt> explain why the following gratuitous use of 'my $row' under
Matt> strict doesn't result in any errors, but outputs three 2s:

Matt> use warnings;
Matt> use strict;

Matt> my @rows = (1, 2, 3);

Matt> my $row = 1;

Matt> foreach my $row (@rows) {

Matt>    my $row = 2;

Matt>    print "$row\n";

Matt> }

Matt> I accidentally wrote something similar to this while trying to
Matt> propagate a database and only found the error when the sql
Matt> statement died because it was using the wrong value for $row.

You can define infinite number of lexically scoped vars with same
name. It is not a bug. Each new var declaration creates new variable
visible by this name from the place where it was declared till the end
of scope. If you define lexically scoped var in same scope it could
cause Perl warning but that's all.

You code effectively equivalent to

use warnings;
use strict;

my @rows = (1, 2, 3);

my $row0 = 1;

foreach my $row1 (@rows) {

   my $row2 = 2;

   print "$row2\n";

}

-- 
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| Ilya Martynov (http://martynov.org/)          TIV.net (http://tiv.net/) |
| GnuPG 1024D/323BDEE6 D7F7 561E 4C1D 8A15 8E80  E4AE BE1A 53EB 323B DEE6 |
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


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

Date: Wed, 21 Nov 2001 19:21:48 -0500
From: "Matt Garrish" <matthew.garrish@sympatico.ca>
Subject: Re: variable scope
Message-Id: <4uXK7.23866$pd.2797088@news20.bellglobal.com>


"Ilya Martynov" <ilya@martynov.org> wrote in message
news:87d72by96y.fsf@abra.ru...
>
> You code effectively equivalent to
>
> use warnings;
> use strict;
>
> my @rows = (1, 2, 3);
>
> my $row0 = 1;
>
> foreach my $row1 (@rows) {
>
>    my $row2 = 2;
>
>    print "$row2\n";
>
> }
>

So which scope does the "foreach" declared $row fall into? If the main body
of the script, then it should conflict with the already declared $row. If it
is within the scope of the  foreach loop, then shouldn't the second attempt
to initialize the same variable cause an exception?

Matt




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

Date: 22 Nov 2001 03:52:38 +0300
From: Ilya Martynov <ilya@martynov.org>
Subject: Re: variable scope
Message-Id: <878zczy6cp.fsf@abra.ru>

>>>>> On Wed, 21 Nov 2001 19:21:48 -0500, "Matt Garrish" <matthew.garrish@sympatico.ca> said:

Matt> "Ilya Martynov" <ilya@martynov.org> wrote in message
Matt> news:87d72by96y.fsf@abra.ru...
>> 
>> You code effectively equivalent to
>> 
>> use warnings;
>> use strict;
>> 
>> my @rows = (1, 2, 3);
>> 
>> my $row0 = 1;
>> 
>> foreach my $row1 (@rows) {
>> 
>> my $row2 = 2;
>> 
>> print "$row2\n";
>> 
>> }
>> 

Matt> So which scope does the "foreach" declared $row fall into? If
Matt> the main body of the script, then it should conflict with the
Matt> already declared $row. If it is within the scope of the foreach
Matt> loop, then shouldn't the second attempt to initialize the same
Matt> variable cause an exception?

First of all each 'my $var' doesn't initialize the *same* variable. It
initialize *new* variable under same name. In some cases Perl can
cause warning. For example

{
    my $a = 1;
    my $a = 2;
}

but still it is not a fatal error. You have just declared *two*
variables with same name. You can use name $a to refer to first
variable until second variable is declared. And you can use name $a to
refer to second variable till the end of block.

Following construct will not cause warning

{
    my $a = 1;
    {
        my $a = 2;
    }
}

and again it declares two variables.

Let's return to our example. Construct like

foreach my $var (@array) {
    # body
}

is almost same as

{
    my $var;
    foreach $var (@array) {
    }
}

I hope it makes clear which scope has variable declared in foreach.

-- 
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| Ilya Martynov (http://martynov.org/)          TIV.net (http://tiv.net/) |
| GnuPG 1024D/323BDEE6 D7F7 561E 4C1D 8A15 8E80  E4AE BE1A 53EB 323B DEE6 |
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


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

Date: Wed, 21 Nov 2001 20:17:03 -0500
From: "Matt Garrish" <matthew.garrish@sympatico.ca>
Subject: Re: variable scope
Message-Id: <ThYK7.24097$pd.2844153@news20.bellglobal.com>


"Ilya Martynov" <ilya@martynov.org> wrote in message
news:878zczy6cp.fsf@abra.ru...
> Let's return to our example. Construct like
>
> foreach my $var (@array) {
>     # body
> }
>
> is almost same as
>
> {
>     my $var;
>     foreach $var (@array) {
>     }
> }
>

That's the explanation I had a feeling I would get, but it seems (to me,
anyway) to fly in the face of the whole point of using the strict pragma. I
would have expected a construct  more like the following:

foreach (@array) {
my $var = $array[$_]
}

which, as you noted, doesn't cause a fatal error, but all the same will tip
you off to subsequent attempts to declare a variable with the same name
within the scope of that block. Although this is the first time it has
happened to me, and I had the sql statement to tip me off to the problem, I
can only imagine what a nightmare it could be to debug. Also, considering
the size of some foreach blocks I've written, I'm surprised it hasn't
happened to me sooner. Thanks all the same!

Matt




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

Date: 22 Nov 2001 04:50:10 +0300
From: Ilya Martynov <ilya@martynov.org>
Subject: Re: variable scope
Message-Id: <87zo5fwp4d.fsf@abra.ru>

>>>>> On Wed, 21 Nov 2001 20:17:03 -0500, "Matt Garrish" <matthew.garrish@sympatico.ca> said:

Matt> That's the explanation I had a feeling I would get, but it seems (to me,
Matt> anyway) to fly in the face of the whole point of using the strict pragma. I
Matt> would have expected a construct  more like the following:

Matt> foreach (@array) {
Matt> my $var = $array[$_]
Matt> }

Matt> which, as you noted, doesn't cause a fatal error, but all the
Matt> same will tip you off to subsequent attempts to declare a
Matt> variable with the same name within the scope of that
Matt> block. Although this is the first time it has happened to me,
Matt> and I had the sql statement to tip me off to the problem, I can
Matt> only imagine what a nightmare it could be to debug. Also,
Matt> considering the size of some foreach blocks I've written, I'm
Matt> surprised it hasn't happened to me sooner. Thanks all the same!

It should not cause nightmare would you follow good coding
practices. Usually your subs should fit one screen or maybe two
screens (as exception). If you have huge foreach blocks then it is a
red flag for you. You should split your code on several subs.

-- 
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| Ilya Martynov (http://martynov.org/)          TIV.net (http://tiv.net/) |
| GnuPG 1024D/323BDEE6 D7F7 561E 4C1D 8A15 8E80  E4AE BE1A 53EB 323B DEE6 |
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


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

Date: Wed, 21 Nov 2001 22:09:11 -0500
From: "Matt Garrish" <matthew.garrish@sympatico.ca>
Subject: Re: variable scope
Message-Id: <S%ZK7.14551$QC5.2044880@news20.bellglobal.com>


"Ilya Martynov" <ilya@martynov.org> wrote in message
news:87zo5fwp4d.fsf@abra.ru...
> >>>>> On Wed, 21 Nov 2001 20:17:03 -0500, "Matt Garrish"
<matthew.garrish@sympatico.ca> said:
>
> It should not cause nightmare would you follow good coding
> practices. Usually your subs should fit one screen or maybe two
> screens (as exception). If you have huge foreach blocks then it is a
> red flag for you. You should split your code on several subs.
>

I guess I'm not making myself clear. I mentioned the issue of size because
the larger the block, the greater the chance of this happening. Regardless
of whether the block is "one screen" in length or fifteen, your script
itself might be 20,000 lines. And in those 20,000 lines you might have
dozens of foreach blocks, and somewhere in all that code you've accidentally
"overridden" one variable you believe contained the value of the array.
Unless the script dies soon after (as mine did), have fun trying to figure
out where things went wrong, because no warning will be generated. The
purpose of the strict pragma was to prevent these sorts of problems from
happening, but in this case it is not behaving as I (and I'm sure others who
have stumbled upon this glitch) would have expected.

Matt




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

Date: Thu, 22 Nov 2001 04:02:50 GMT
From: "John W. Krahn" <krahnj@acm.org>
Subject: Re: variable scope
Message-Id: <3BFC79AB.69FCF33B@acm.org>

Matt Garrish wrote:
> 
> "Ilya Martynov" <ilya@martynov.org> wrote in message
> news:87d72by96y.fsf@abra.ru...
> >
> > You code effectively equivalent to
> >
> > use warnings;
> > use strict;
> >
> > my @rows = (1, 2, 3);
> > my $row0 = 1;
> > foreach my $row1 (@rows) {
> >    my $row2 = 2;
> >    print "$row2\n";
> > }
> 
> So which scope does the "foreach" declared $row fall into? If the main body
> of the script, then it should conflict with the already declared $row. If it
> is within the scope of the  foreach loop, then shouldn't the second attempt
> to initialize the same variable cause an exception?


No, that's the whole point of having scope, so that the variable name
won't conflict with the same name in a different scope.


John
-- 
use Perl;
program
fulfillment


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

Date: Thu, 22 Nov 2001 04:13:36 GMT
From: Uri Guttman <uri@stemsystems.com>
Subject: Re: variable scope
Message-Id: <x7wv0jbfwy.fsf@home.sysarch.com>

>>>>> "MG" == Matt Garrish <matthew.garrish@sympatico.ca> writes:

  MG> in those 20,000 lines you might have dozens of foreach blocks, and
  MG> somewhere in all that code you've accidentally "overridden" one
  MG> variable you believe contained the value of the array.  Unless the
  MG> script dies soon after (as mine did), have fun trying to figure
  MG> out where things went wrong, because no warning will be
  MG> generated. The purpose of the strict pragma was to prevent these
  MG> sorts of problems from happening, but in this case it is not
  MG> behaving as I (and I'm sure others who have stumbled upon this
  MG> glitch) would have expected.

you aren't getting the purpose of scope. scope in this case is for
exactly the reason of allowing a variable's name to be reused. this is
the case in all languages that support scoped names. the idea is that in
a given sub or block you don't have to worry about clobbering some
outer scoped variable with the same name.

strict has nothing to do with scope. it has to do with declarations and
it will catch most variable typos. but it does not affect basic scoping
rules. if you had your way, then all variables in all files and modules
used in a program would have to have unique names. try and create that
given all of cpan.

so your expectation of strict is wrong, which means you should change
your expectation.

uri

-- 
Uri Guttman  ------  uri@stemsystems.com  -------- http://www.stemsystems.com
-- Stem is an Open Source Network Development Toolkit and Application Suite -
----- Stem and Perl Development, Systems Architecture, Design and Coding ----
Search or Offer Perl Jobs  ----------------------------  http://jobs.perl.org


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

Date: Wed, 21 Nov 2001 23:21:57 -0500
From: "Matt Garrish" <matthew.garrish@sympatico.ca>
Subject: Re: variable scope
Message-Id: <a4%K7.10581$op.2392082@news20.bellglobal.com>


"John W. Krahn" <krahnj@acm.org> wrote in message
news:3BFC79AB.69FCF33B@acm.org...
>
> No, that's the whole point of having scope, so that the variable name
> won't conflict with the same name in a different scope.
>

It's this whole "invisible" outer-block that has thrown me for a loop
(pardon the bad pun). As I posted in the next message, I didn't expect the
loop to have its own scope. I (wrongly) assumed that the variable
declaration would have scope *within* the block, not in a "pseudo-world"
between the main body of the script and the loop. So what is the use of
having the declaration occur within the wrapping block? Or, for that matter,
wrapping the foreach loop in its own block?  I can tell you the downside. Oh
wait, I already have... : )

Matt




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

Date: Thu, 22 Nov 2001 15:28:40 +1100
From: "Andrew Hamm" <ahamm@programmer.net>
Subject: Re: variable scope
Message-Id: <3bfc7f9c_2@news.iprimus.com.au>


>
>and somewhere in all that code you've accidentally
>"overridden" one variable you believe contained the value of the array.
>
Your problem here is not due to overriding the variables. Your two variables
are clean. What's happening to you is that the $row declared in the foreach
statement is an ALIAS for each member of the array. It directly refers to
each member of the array, so if you change the value of $row you also change
the value of the current element of the array.

If we rewrite your sample to

my @rows = (1, 2, 3);
my $row = 1;
foreach my $x (@rows) {
   my $x = 2;
   print "$x\n";
}

print join(" ", @rows), "\n";

Then you'll still smash the contents of @rows. $x IS the current element of
@rows. It is _not_ a copy of the current element.

Does that make sense?
--
Space Corps Directive #723
Terraformers are expressly forbidden from recreating Swindon.
    -- Red Dwarf





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

Date: Thu, 22 Nov 2001 04:43:23 GMT
From: Uri Guttman <uri@stemsystems.com>
Subject: Re: variable scope
Message-Id: <x7u1vnbejb.fsf@home.sysarch.com>

>>>>> "MG" == Matt Garrish <matthew.garrish@sympatico.ca> writes:

  MG> "John W. Krahn" <krahnj@acm.org> wrote in message
  MG> news:3BFC79AB.69FCF33B@acm.org...
  >> 
  >> No, that's the whole point of having scope, so that the variable name
  >> won't conflict with the same name in a different scope.
  >> 

  MG> It's this whole "invisible" outer-block that has thrown me for a
  MG> loop (pardon the bad pun). As I posted in the next message, I
  MG> didn't expect the loop to have its own scope. I (wrongly) assumed
  MG> that the variable declaration would have scope *within* the block,
  MG> not in a "pseudo-world" between the main body of the script and
  MG> the loop. So what is the use of having the declaration occur
  MG> within the wrapping block? Or, for that matter, wrapping the
  MG> foreach loop in its own block?  I can tell you the downside. Oh
  MG> wait, I already have... : )

there is no downside. only you seem to have this problem. a my var being
used as a foreach index was a requested feature by many perl hackers. it
saves declaring the var before the loop and it properly is scoped to the
loop which is where you want it. it is part of the loop even if it
appears before the {}. just get it, learn to use it properly and stop
whinging about it. it ain't gonna change for you. it is correct. it is
not invisible. it is documented. you are mistaken about it not doing the
right thing.

uri

-- 
Uri Guttman  ------  uri@stemsystems.com  -------- http://www.stemsystems.com
-- Stem is an Open Source Network Development Toolkit and Application Suite -
----- Stem and Perl Development, Systems Architecture, Design and Coding ----
Search or Offer Perl Jobs  ----------------------------  http://jobs.perl.org


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

Date: Thu, 22 Nov 2001 14:17:37 +0930
From: "Wyzelli" <wyzelli@yahoo.com>
Subject: Re: variable scope
Message-Id: <Gq%K7.38$9s2.487@vicpull1.telstra.net>

"Ilya Martynov" <ilya@martynov.org> wrote in message
news:878zczy6cp.fsf@abra.ru...
> >>>>> On Wed, 21 Nov 2001 19:21:48 -0500, "Matt Garrish"
<matthew.garrish@sympatico.ca> said:
>
> Let's return to our example. Construct like
>
> foreach my $var (@array) {
>     # body
> }
>
> is almost same as
>
> {
>     my $var;
>     foreach $var (@array) {
>     }
> }
>
> I hope it makes clear which scope has variable declared in foreach.
>

IOW, the original script is like this:

my $var;
{
    my $var;
    foreach $var (@array){
        my $var;
    }
}

Three completely different scopes.  I for one would never have realised that
without carefully reading this thread and then doing some testing to see
what masks what.

Wyzelli
--
push@x,$_ for(a..z);push@x,' ';
@z='092018192600131419070417261504171126070002100417'=~/(..)/g;
foreach $y(@z){$_.=$x[$y]}y/jp/JP/;print;




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

Date: Wed, 21 Nov 2001 23:47:50 -0500
From: "Matt Garrish" <matthew.garrish@sympatico.ca>
Subject: Re: variable scope
Message-Id: <ts%K7.10741$op.2408042@news20.bellglobal.com>


"Uri Guttman" <uri@stemsystems.com> wrote in message
news:x7wv0jbfwy.fsf@home.sysarch.com...
> you aren't getting the purpose of scope. scope in this case is for
> exactly the reason of allowing a variable's name to be reused. this is
> the case in all languages that support scoped names. the idea is that in
> a given sub or block you don't have to worry about clobbering some
> outer scoped variable with the same name.
>

I'm not getting something, but I don't think you've hit on it, since you've
completely misunderstood my point. I don't remember saying anywhere in any
of my posts that you should only be allowed to declare any variable name
only once per script. When I add a foreach block to a script, I
instinctively only see *two* blocks: the main and the foreach. Now I've
learned that there's actually a third, thereby allowing the value in the
"foreach my $row (@rows)" to exist simultaneously with an inner declaration.
My point is that this intermediary scoped variable is quietly being
clobbered by virtue of the inner block. Let me give a little diagram using
Ilya's model to help here:

my $row = 1;  # sets the variable in the main body
{
  my $row = '';   # okay, new scope
  foreach $row (@names)   # sets $row as expected
  {
    my $row = "2";   # "clobbers" the expected $row
  }
}

What is the point of allowing the second "my $row" to silently fall out of
scope immediately after being initialized? At the very least I would have
expected a warning indicating that the value is only used once. But maybe
it's just me...

Matt




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

Date: Thu, 22 Nov 2001 00:12:54 GMT
From: cfedde@fedde.littleton.co.us (Chris Fedde)
Subject: Re: Where can I learn about object-oriented Perl programming?
Message-Id: <aqXK7.427$Fbh.237114880@news.frii.net>

In article <9th9ot$akp$01$1@news.t-online.com>,
Steffen Müller <5l259r001@sneakemail.com> wrote:
>"PerlFAQ Server" <faq@denver.pm.org> schrieb im Newsbeitrag
>news:N4TK7.421$Fbh.213031936@news.frii.net...
>| This message is one of several periodic postings to comp.lang.perl.misc
>| intended to make it easier for perl programmers to find answers to
>| common questions. The core of this message represents an excerpt
>| from the documentation provided with every Standard Distribution of
>| Perl.
>|
>| +
>|   Where can I learn about object-oriented Perl programming?
>|
>|     A good place to start is the perltoot manpage, and you can use the
>|     perlobj manpage, the perlboot manpage, and the perlbot manpage for
>|     reference. Perltoot didn't come out until the 5.004 release; you can
>get
>|     a copy (in pod, html, or postscript) from
>|     http://www.perl.com/CPAN/doc/FMTEYEWTK/ .
>
>"Note that the old documentation, often advertised as www.perl.com/doc or
>www.perl.com/CPAN/doc, has been removed from CPAN as of November 2001
>because it had not been updated for several years, and many people
>complained about this. Please use the below links for much more current
>information, the closest counterpart to the old material would be the Perl
>core documentation site. If you have Perl documentation bookmarks pointing
>to cpan.org or perl.org, consider updating your bookmarks. Note that the
>removal was made only in CPAN, which is NOT affiliated with perl.com. The
>perl.com/doc is still there, if you absolutely insist on vintage
>documentation."
>
>Guess the FAQ needs an update :)
>
>Steffen
>

I'm not sure that the FMTEYEWTK pages should be thrown out at the
same time as the old 5.005_02 doc.  I'd like to see these, the
Guttman-Rosler paper on sorting, and maybe some other bits and
pieces of important cultural documentation preserved in the CPAN
archive.

Thoughts?
-- 
    This space intentionally left blank


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

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.  

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


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