mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Improve warning about creating nested named subroutines in plperl.
Per discussion.
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
				
			|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/plperl.sgml,v 2.80 2010/02/12 19:35:25 adunstan Exp $ -->
 | 
					<!-- $PostgreSQL: pgsql/doc/src/sgml/plperl.sgml,v 2.81 2010/02/25 03:08:07 tgl Exp $ -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 <chapter id="plperl">
 | 
					 <chapter id="plperl">
 | 
				
			||||||
  <title>PL/Perl - Perl Procedural Language</title>
 | 
					  <title>PL/Perl - Perl Procedural Language</title>
 | 
				
			||||||
@@ -85,12 +85,13 @@ $$ LANGUAGE plperl;
 | 
				
			|||||||
   <para>
 | 
					   <para>
 | 
				
			||||||
    The use of named nested subroutines is dangerous in Perl, especially if
 | 
					    The use of named nested subroutines is dangerous in Perl, especially if
 | 
				
			||||||
    they refer to lexical variables in the enclosing scope. Because a PL/Perl
 | 
					    they refer to lexical variables in the enclosing scope. Because a PL/Perl
 | 
				
			||||||
    function is wrapped in a subroutine, any named subroutine you create will
 | 
					    function is wrapped in a subroutine, any named subroutine you place inside
 | 
				
			||||||
    be nested. In general, it is far safer to create anonymous subroutines
 | 
					    one will be nested. In general, it is far safer to create anonymous
 | 
				
			||||||
    which you call via a coderef. See <literal>Variable "%s" will not stay shared</literal>
 | 
					    subroutines which you call via a coderef. For more information, see the
 | 
				
			||||||
    and <literal>Variable "%s" is not available</literal> in the
 | 
					    entries for <literal>Variable "%s" will not stay shared</literal> and
 | 
				
			||||||
    <citerefentry><refentrytitle>perldiag</></citerefentry> man page for more
 | 
					    <literal>Variable "%s" is not available</literal> in the
 | 
				
			||||||
    details.
 | 
					    <citerefentry><refentrytitle>perldiag</></citerefentry> man page, or
 | 
				
			||||||
 | 
					    search the Internet for <quote>perl nested named subroutine</>.
 | 
				
			||||||
   </para>
 | 
					   </para>
 | 
				
			||||||
  </note>
 | 
					  </note>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user