RE: New CVS locations (was: apache.org problem ?)

2000-01-04 Thread Gerald Richter

Hi all,

perl.apache.org has a new home and therefore the locations of the CVS has
moved. I append a mail from Brian, where you can read how to access modperl
and Embperl CVS from now on.

Gerald

>From Brian Behlendorf:

OK, I've set up http://perl.apache.org/from-cvs/, and redirected people
accessing http://dev.apache.org/from-cvs/*perl* to the right directory
there.

CVSup has been set up, although again, you can't use 'dev.apache.org' as
the server; if that's changed to 'perl.apache.org' then it works fine.
Unfortunately I can't find mention of a "redirect" facility in cvsup; if
you know of one let me know, but it should be moot shortly as the rest of
apache.org moves over to locus.

Still, we should be retiring the use of dev.apache.org wherever we see it;
I still see us having the domain around, but exclusively for web content
related to ASF-wide development facilities, and eventually as the
"intranet" for configuring ASF-wide facilities on the system.  All
services should be rooted at project.apache.org from now on; this will
include mail archives as well when I get around to it.

Anonymous CVS is now set up as well - use the CVSROOT of

  pserver:[EMAIL PROTECTED]:/home/cvspublic

with the password "anoncvs".



Re: Tieing $q to $r

2000-01-04 Thread Cliff Rayman

I don't think that the my($r) is going to work out too well here.  I
don't
use apache registry but I don't think you want to freeze the
Apache->request
and CGI::Apache objects to what they are when the program is compiled.
These
usually need to be modified by apache for each request.

check out:
http://perl.apache.org/guide/perl.html#my_Scoped_Variable_in_Nested_S

cliff rayman
genwax.com





"Arthur M. Kang" wrote:

> Trying to tie $q to $r so I can just pass around a single variable to
> subs.  Not working too well...  Getting frustrated...  Getting ready
to
> punch computer...  :)
>
> using Registry:
>
> my($r) = Apache->request;
> my($q) = new CGI::Apache;
> $r->notes('q',$q);
>
> &test($r);
>
> sub test {
>   my($r) = shift;
>   my($q) = $r->notes('q');
>
>   print $q->param('test');
> }
>
> I'm trying to pass my $q in a fashion like the above example, but
can't
> get it to work.  If anyone has any insights or can provide some help,
> I'd really appreciate it.  I've tried sending it as a reference, and
all
> (ie: $r->notes('q',\$q))...Can't get it.
>
> Arthur



Re: Tieing $q to $r

2000-01-04 Thread Bill Desjardins

Arthur,

You need to use $r->pnotes() to do this. $r->pnotes() is used to pass data
structures around between modules. There is a entry in the manual about it
so check there first.

Bill

-- 
Bill Desjardins - [EMAIL PROTECTED] - (USA) 305.205.8644 
Unix/Network Administration - Perl/Mod_Perl/DB Development
 http://www.CarRacing.com -  Powered by Mod_Perl!
Free WebHosting for Race Tracks, Race Teams and Race Shops

On Tue, 4 Jan 2000, Arthur M. Kang wrote:

> Trying to tie $q to $r so I can just pass around a single variable to
> subs.  Not working too well...  Getting frustrated...  Getting ready to
> punch computer...  :)
> 
> using Registry:
> 
> my($r) = Apache->request;
> my($q) = new CGI::Apache;
> $r->notes('q',$q);
> 
> &test($r);
> 
> sub test {
>   my($r) = shift;
>   my($q) = $r->notes('q');
> 
>   print $q->param('test');
> }
> 
> I'm trying to pass my $q in a fashion like the above example, but can't
> get it to work.  If anyone has any insights or can provide some help,
> I'd really appreciate it.  I've tried sending it as a reference, and all
> (ie: $r->notes('q',\$q))...Can't get it.
> 
> Arthur
> 



Tieing $q to $r

2000-01-04 Thread Arthur M. Kang

Trying to tie $q to $r so I can just pass around a single variable to
subs.  Not working too well...  Getting frustrated...  Getting ready to
punch computer...  :)

using Registry:

my($r) = Apache->request;
my($q) = new CGI::Apache;
$r->notes('q',$q);

&test($r);

sub test {
  my($r) = shift;
  my($q) = $r->notes('q');

  print $q->param('test');
}

I'm trying to pass my $q in a fashion like the above example, but can't
get it to work.  If anyone has any insights or can provide some help,
I'd really appreciate it.  I've tried sending it as a reference, and all
(ie: $r->notes('q',\$q))...Can't get it.

Arthur



Why does using Apache::DB as described by Stas break mod_perl?

2000-01-04 Thread dave-mlist

I would like to use the Apache::DB as described on
http://perl.apache.org/guide/porting.html, but I get an "Undefined
subroutine &Apache::Registry::handler" error.  Any suggestions?

My config before trying Apache::DB :

Alias /perl/  /home/httpd/perl/


  SetHandler perl-script
  PerlHandler Apache::Registry
  Options +ExecCGI


With this config, everything works as expected.


My config after Apache::DB :

Alias /perl/  /home/httpd/perl/

PerlSetEnv PERLDB_OPTS "NonStop=1 LineInfo=/tmp/db.out AutoTrace=1 frame=2"
PerlModule Apache::DB

  PerlFixupHandler Apache::DB
  SetHandler perl-script
  PerlHandler Apache::Registry
  Options ExecCGI
  PerlSendHeader On


With this config, I get the following error:

[notice] Apache::DB initialized in child 11380
[Tue Jan  4 08:38:15 2000] [error] Undefined subroutine &Apache::Registry::handler 
called.

Dave



Re: Apache::AuthzDBI giving me grief

2000-01-04 Thread Edmund Mergl

Craig Vincent wrote:
> 
> > what version of ApacheDBI do you use ?
> > can you send me the relevant part of the
> > error_log ?
> 
> I'm using 0.86 of Apache::AuthzDBI
> And using 0.87 Apache::DBI


strange, since 0.84 the two modules AuthzDBI and AuthenDBI
have been combined into one module AuthDBI. So which one
do you use ?


Edmund

-- 
Edmund Mergl
mailto:[EMAIL PROTECTED]
http://www.bawue.de/~mergl



Re: Apache::AuthzDBI giving me grief

2000-01-04 Thread Craig Vincent

> 1) try upgrading to a current version of Apache::DBI - Apache::AuthzDBI
was
> replaced by Apache::AuthDBI in 0.84

Actually that seems to have solved my problem :)  The mod_perl documentation
I have talks about using AuthzDBI and AuthenDBI for database
authenticationonce I looked up the info on AuthDBI and reconfigured
everything to use that instead the errors ceased.

I appreciate everyone's help in this matter...such a simple problem but I
could have spent days looking for a solution before realizing the modules
themselves were obsolete. *thx*

Sincerely,

Craig Vincent





Re: Apache::AuthzDBI giving me grief

2000-01-04 Thread Craig Vincent

> what version of ApacheDBI do you use ?
> can you send me the relevant part of the
> error_log ?

I'm using 0.86 of Apache::AuthzDBI
And using 0.87 Apache::DBI

There really isn't any other relevant part of the log...the only errors I
see is

[Tue Jan  4 15:52:53 2000] null: Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/AuthzDBI.pm line 116,  chunk 96.
[Tue Jan  4 15:52:54 2000] null: Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/AuthzDBI.pm line 116.
[Tue Jan  4 15:52:54 2000] null: Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/AuthzDBI.pm line 116.
[Tue Jan  4 15:52:54 2000] null: Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/SSI.pm line 26.
[Tue Jan  4 15:52:54 2000] null: Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/SSI.pm line 104,  chunk 1.
[Tue Jan  4 15:52:54 2000] null: Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/AuthzDBI.pm line 116.
Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/AuthzDBI.pm line 116.
[Tue Jan  4 15:52:55 2000] null: Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/AuthzDBI.pm line 116,  chunk 96.
[Tue Jan  4 15:52:55 2000] null: Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/AuthzDBI.pm line 116.
[Tue Jan  4 15:52:55 2000] null: Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/AuthzDBI.pm line 116,  chunk 96.

And because there's no IPs or other identification information provided it's
impossible for me to match the access logs up with anything.

Any ideas?

Sincerely,

Craig Vincent




Apache::AuthzDBI giving me grief

2000-01-04 Thread Craig Vincent

Apache 1.3.9 -> Linux RH 6.1 -> mod_perl 1.21

I constantly see a number of recurring errors in my log file as follows:

[Tue Jan  4 15:07:30 2000] null: Use of uninitialized value at
/usr/lib/perl5/site_perl/5.005/Apache/AuthzDBI.pm line 116.

There seems to be no consistency with this error occuring and I don't know
even where to begin to look for a possible solution...the result of this
error is occasionally when someone attempts to access a page inside the
protected area...the .htaccess file spews out an Internal Server error...as
stated earlier I can't purposely recreate it just appears to happen at
random.  Any ideas or suggestions on how to track down the problem would be
greatly appreciated.

Sincerely,

Craig Vincent




Apache::Session::DBI on Solaris 2.6 woes

2000-01-04 Thread Chris Carline

Hi there,

For the last 2 months, I've been using Apache::Session::DBI on a Solaris 2.6
box (with the semaphorelocker nsems value set to 16) to store session
information on a busy web site. Unfortunately, things seem to have gone
awry, specifically with the tie:

tie %SESSION, 'Apache::Session::DBI', $cookie,
{   DataSource => 'DBI:mysql:mydatabase',
UserName   => 'user',
Password   => 'pass'
};

The connection to the database ties up a mySQL thread, and each time a
session tie is called, the httpd daemon handling the request doesn't let go,
so the mysql thread table gradually fills up to the maximum limit set.
(Sorry for the horrible grammar)

All other database connections for the site seem to work as normal. 

I'm running Apache 1.3.9, mod_perl 1.21, Apache::Session 1.03 and DBI 1.13.
I've seen similar behaviour before when the tie to %SESSION was predeclared
with "use vars qw /%SESSION/" rather than "my".

I'm at a complete loss as to what might be going on, especially in the light
of the development Linux box (running the same versions of everything as the
Solaris box) working perfectly well.

Does anyone have any ideas as to what might be wrong?

Many thanks,

Chris



RE: Modules Lost in EMBPERL

2000-01-04 Thread Gerald Richter

> sub new {
>
>   my $pkg = shift;
>   my $fdatref = shift;
>   my $database = 'patients';
>   my $obj = bless {
>   '_fdatref' => $fdatref,
>   '_balances' => 0, ## array ref for balances
>   '_prev_patnums' => 0, ## array ref for prev_patnums
>   '_dbh' => SQLHANDLE->allocate($database)
>   }, $pkg;
>   return $obj;
> }

One problem could be, if SQLHANDLE->allocate dies (e.g. in getdbh), then
your object will never returned and will be undef in further [- -] blocks

You can wrap your constructor in an eval {  } to catch this case.

>
> Yes.  In order to spare you too much code, I forgot to mention that we
> have rewritten the
> code to be
> [- use FINANCEMOD -]
>
> and this fails to take in the module.  It ends with a return 1
> statement.
>
>
> I run into this often.
>

this is converted by Embperl internaly to

$x = eval { sub { use FINANCEMOD ; } } ;

I have seen this problem seen before, seems like Perl requires the semicolon
in this case.

>
> > >From point of scoping [- -] is wrapped in an Perl { } block,
>
> Does that mean the entire pages embperl is evaluated together as one
> eval?
>

each [- -] is evaled as a separate anoymous sub, if there are any [* *]
blocks they are evaled in one sub together, which calls the other subs, but
this are the current implementation details, which may change in the future
(e.g. in Embperl 2.0). Anyway I will make sure that scoping remains the
same.


> We call a CGI from modules from EMBPERL all under mod_perl.  When we run
> into
> this bug, it seems to happen after [$ $] if or whiles or foreaches.
> I've also wondered
> about $escmod - it might be adding to the trouble as we are changing it
> from section to selection.
>

This shouldn't be a problem.

Gerald



Re: Attempt to free unreferenced scalar (again)

2000-01-04 Thread Bill Moseley

Here's perl -V

(Sorry Matt for emailing you directly.  I wish the list used a Reply-To: to
the list so replying wouldn't default to the individual.)

115) ~/apache %/usr/local/bin/perl5.005 -V

Summary of my perl5 (5.0 patchlevel 5 subversion 0) configuration:
  Platform:
osname=solaris, osvers=2.5.1, archname=sun4-solaris
uname='sunos sunsite 5.5.1 generic sun4d sparc sunw,sparccenter-2000 '
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
cc='gcc', optimize='-O', gccversion=2.7.0
cppflags=''
ccflags =''
stdchar='unsigned char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lc -lcrypt
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Built under solaris
  Compiled at Sep 14 1998 15:45:04
  %ENV:

PERLLIB="/data/_g/lii/perl_lib/lib/site_perl/5.005:/data/_g/lii/perl_lib/lib
/site_perl/5.005/sun4-solaris"
  @INC:
/data/_g/lii/perl_lib/lib/site_perl/5.005
/data/_g/lii/perl_lib/lib/site_perl/5.005/sun4-solaris
/usr/local/perl5.005/lib/5.005/sun4-solaris
/usr/local/perl5.005/lib/5.005
/usr/local/perl5.005/lib/site_perl/5.005/sun4-solaris
/usr/local/perl5.005/lib/site_perl/5.005
.

Bill Moseley
mailto:[EMAIL PROTECTED]



Re: Attempt to free unreferenced scalar (again)

2000-01-04 Thread Matt Sergeant

On Tue, 04 Jan 2000, Bill Moseley wrote:
> At 04:47 PM 1/4/00 +, Matt Sergeant wrote:
> >> As far as I can tell (from finding perl_conf.c on this machine) it already
> >> has this patch.  Running Apache 1.3.9 and, I think*, mod_perl-1.21.  Perl
> >> is 5.005 and Sun 2.6. I'm not running Apache::StatINC, but PerlFreshRestart
> > ^
> 
> That is the full version.

Hmm.. maybe you have an original 5.005 (and no patchlevel) then. I
seriously recommend a perl upgrade. There were bugs there that have since
been fixed, and some of those may lead to your error.

-- 


Details: FastNet Software Ltd - XML, Perl, Databases.
Tagline: High Performance Web Solutions
Web Sites: http://come.to/fastnet http://sergeant.org
Available for Consultancy, Contracts and Training.



Re: Attempt to free unreferenced scalar (again)

2000-01-04 Thread Bill Moseley

At 04:47 PM 1/4/00 +, Matt Sergeant wrote:
>> As far as I can tell (from finding perl_conf.c on this machine) it already
>> has this patch.  Running Apache 1.3.9 and, I think*, mod_perl-1.21.  Perl
>> is 5.005 and Sun 2.6. I'm not running Apache::StatINC, but PerlFreshRestart
> ^

That is the full version.



Bill Moseley
mailto:[EMAIL PROTECTED]



Re: Attempt to free unreferenced scalar (again)

2000-01-04 Thread Matt Sergeant

On Tue, 04 Jan 2000, Bill Moseley wrote:
> I looked at the archive, and noticed Doug's patch in perl_conf.c:
> 
> http://www.geocrawler.com/archives/3/182/1999/7/0/2414262/
> 
> -hv_store(nhv, (char*)key, klen, rv, FALSE); 
> +hv_store(nhv, (char*)key, klen, SvREFCNT_inc(rv), FALSE); 
> 
> As far as I can tell (from finding perl_conf.c on this machine) it already
> has this patch.  Running Apache 1.3.9 and, I think*, mod_perl-1.21.  Perl
> is 5.005 and Sun 2.6. I'm not running Apache::StatINC, but PerlFreshRestart
 ^

Can you be more specific. Sometimes these ATFUS bugs are perl bugs, so it's
worth giving the full perl version info.

-- 


Details: FastNet Software Ltd - XML, Perl, Databases.
Tagline: High Performance Web Solutions
Web Sites: http://come.to/fastnet http://sergeant.org
Available for Consultancy, Contracts and Training.



Attempt to free unreferenced scalar (again)

2000-01-04 Thread Bill Moseley

I looked at the archive, and noticed Doug's patch in perl_conf.c:

http://www.geocrawler.com/archives/3/182/1999/7/0/2414262/

-hv_store(nhv, (char*)key, klen, rv, FALSE); 
+hv_store(nhv, (char*)key, klen, SvREFCNT_inc(rv), FALSE); 

As far as I can tell (from finding perl_conf.c on this machine) it already
has this patch.  Running Apache 1.3.9 and, I think*, mod_perl-1.21.  Perl
is 5.005 and Sun 2.6. I'm not running Apache::StatINC, but PerlFreshRestart
is on.  Although mod_perl looks statically linked, Apache does have DSO
support, and mod_rewrite is pulled in this way.

* I didn't build the production Apache where the error is showing up.  I
did build the Apache where I was testing and I didn't see the error.

The sparse and infrequent error message makes this hard to track down.  Any
suggestions on how I can narrow down where to look?

Thanks,

Bill Moseley
mailto:[EMAIL PROTECTED]



RE: embperl examples on embperl page have a bug ????

2000-01-04 Thread Gerald Richter

> The second DBI example on the embperl page works very well.
>
> The first example exhibits a strange behaviour:
>
> When interpreted from command line with embpexec.pl it works OK (returns
> the HTML with a table with 2 columns and 7 rows) but when served through
> the Apache HTTPD ONLY the FIRST column and the FIRST row get printed
> like if the $row and $col within the TABLE tags do not get iterated
> ..
>

Looks like a problem with a dynamic loaded mod_perl. When mod_perl is loaded
as dynamic Apache module (i.e. build with USE_DSO), you must not load
Embperl at server startup time (_not_ in httpd.conf or startup.pl).

Gerald



-
Gerald Richterecos electronic communication services gmbh
Internetconnect * Webserver/-design/-datenbanken * Consulting

Post:   Tulpenstrasse 5 D-55276 Dienheim b. Mainz
E-Mail: [EMAIL PROTECTED] Voice:+49 6133 925151
WWW:http://www.ecos.de  Fax:  +49 6133 925152
-




RE: apache.org problem ?

2000-01-04 Thread Gerald Richter

>
> In that case, I think it might explain why I have this problem.
> I used to
> cvsup all the apache CVS, includnig modperl+embperl, now I updated
> yesterday : No more modperl+embperl.
>
> Where can I cvsup modperl/embperl from now ? (or was it just forgotten or
> something?)
>
> Just thought someone might wanna fix this.
>

modperl/embperl cvs resides now on perl.apache.org. I don't know if cvsup is
already moved to that new location. dev.apache.org/from-cvs/ is also not
updateing. I am going to ask Brian, what the current state is.

Gerald

-
Gerald Richterecos electronic communication services gmbh
Internetconnect * Webserver/-design/-datenbanken * Consulting

Post:   Tulpenstrasse 5 D-55276 Dienheim b. Mainz
E-Mail: [EMAIL PROTECTED] Voice:+49 6133 925151
WWW:http://www.ecos.de  Fax:  +49 6133 925152
-



embperl examples on embperl page have a bug ????

2000-01-04 Thread Robert J. Alexander

I have finally got to install and configure all the bits needed to query
a mysql DB from embedded perl and reply through Apache.

The second DBI example on the embperl page works very well.

The first example exhibits a strange behaviour:

When interpreted from command line with embpexec.pl it works OK (returns
the HTML with a table with 2 columns and 7 rows) but when served through
the Apache HTTPD ONLY the FIRST column and the FIRST row get printed
like if the $row and $col within the TABLE tags do not get iterated
..

What could I try to fix this misbehaviour 

Thank you very much. Bob Alexander



RE: Apache::DBI time bug?

2000-01-04 Thread Geoffrey Young

Yes, the time interval is small, which is why Time::HiRes catches it and the
default perl time method does not.  While, to be fair, the likelyhood of
this happening is perhaps not worth the effort, I was just pointing out that
the Apache::DBI documentation:
"Setting the timeout to 0 will always validate the database
connection using the ping method (default)."
while not exactly true with Apache::DBI as is.  It was, however, the
functionality I was after.

Perhaps requiring the Time::HiRes module is not the most effective solution
(if you agree it's a problem :)

I think changing line 103 of Apache/DBI. to:
  my $needping = ($PingTimeOut{$dsn} == 0 or $PingTimeOut{$dsn} > 0 and $now
- $LastPingTime{$dsn} > $PingTimeOut{$dsn}) ? 1 : 0;
also seems to have the desired effect.

--Geoff

> -Original Message-
> From: Edmund Mergl [mailto:[EMAIL PROTECTED]]
> Sent: Saturday, January 01, 2000 4:01 AM
> To: Geoffrey Young
> Subject: Re: Apache::DBI time bug?
> 
> 
> Geoffrey Young wrote:
> > 
> > Just something minor...
> > 
> > I use DBI for both content and log handlers.  When using 
> debug level 2 I
> > noticed that the the default perl time method is not 
> precise enough between
> > request phases - that if I could not connect in the 
> PerlHandler phase,
> > Apache::DBI did not ping the database for the PerlLogHandler phase.
> > 
> > Adding:
> > 
> > use Time::HiRes qw(time);
> > 
> > to the top of DBI.pm seemed to fix the problem.
> > 
> > probably no big deal for most, but just wanted to point it out...
> > 
> > --Geoff
> 
> 
> 
> so this problem comes up if the database is present during the
> PerlHandler phase and it is not available if it comes to the 
> PerlLogHandler phase. Isn't that a very small time intervall,
> so tht the probability that this happens is negligible small ?
> 
> Edmund
> 
> 
> 
> -- 
> Edmund Mergl
> mailto:[EMAIL PROTECTED]
> http://www.bawue.de/~mergl
> 



Re: What's wrong with this?

2000-01-04 Thread Stas Bekman

> On Sun, Jan 02, 2000 at 01:13:26PM -0800, Aaron Turner wrote:
> > 
> > This is driving me nuts.  This code works the first few exectutions, but
> > then doesn't after a while.  It's pretty simple, it should print out:
> > 
> > Name = value1
> > Name = value2
> > 
> > then after a few reloads it prints:
> > 
> > Name = value1
> > Name = value1
> > 
> > I'm sure it's something stupid, but my brain is apparently fried.
> 
> This is a FAQ.  You're declaring a closure by using %variable in that
> inside subroutine.  Yes, it's 'my' to the handler, but using it inside the
> other subroutine makes it kind of like a persistent copy of the very first
> usage of the variable.  So, even if the handler gets a new %variable each
> time, the closure never sees it.  That's the behavior you're seeing, per
> apache process.

That's right. But actually this is not a closure but a nested subroutine
effect. I've erroneously called this effect a closure in the guide, I've
fixed it now (see perl.apache.org/guide/perl.html). But the implications
are correct.

  % perldoc -q closure

=head1 Found in /usr/lib/perl5/5.00503/pod/perlfaq7.pod

=head2 What's a closure?

Closures are documented in L.

I is a computer science term with a precise but
hard-to-explain meaning. Closures are implemented in Perl as anonymous
subroutines with lasting references to lexical variables outside their
own scopes.  These lexicals magically refer to the variables that were
around when the subroutine was defined (deep binding).

Closures make sense in any programming language where you can have the
return value of a function be itself a function, as you can in Perl.
Note that some languages provide anonymous functions but are not
capable of providing proper closures; the Python language, for
example.  For more information on closures, check out any textbook on
functional programming.  Scheme is a language that not only supports
but encourages closures.

... the FAQ section is continued 


___
Stas Bekmanmailto:[EMAIL PROTECTED]  http://www.stason.org/stas
Perl,CGI,Apache,Linux,Web,Java,PC http://www.stason.org/stas/TULARC
perl.apache.orgmodperl.sourcegarden.org   perlmonth.comperl.org
single o-> + single o-+ = singlesheavenhttp://www.singlesheaven.com