Document the changes with regards to running of END blocks.
[p5sagit/p5-mst-13.2.git] / pod / perlfaq3.pod
index 49cae1a..4eceb46 100644 (file)
@@ -11,7 +11,7 @@ and programming support.
 
 Have you looked at CPAN (see L<perlfaq2>)?  The chances are that
 someone has already written a module that can solve your problem.
-Have you read the appropriate man pages?  Here's a brief index:
+Have you read the appropriate manpages?  Here's a brief index:
 
        Basics          perldata, perlvar, perlsyn, perlop, perlsub
        Execution       perlrun, perldebug
@@ -25,12 +25,12 @@ Have you read the appropriate man pages?  Here's a brief index:
        Various         http://www.perl.com/CPAN/doc/FMTEYEWTK/index.html
                        (not a man-page but still useful)
 
-A crude table of contents for the Perl man page set is found in L<perltoc>.
+A crude table of contents for the Perl manpage set is found in L<perltoc>.
 
 =head2 How can I use Perl interactively?
 
 The typical approach uses the Perl debugger, described in the
-perldebug(1) man page, on an ``empty'' program, like this:
+perldebug(1) manpage, on an ``empty'' program, like this:
 
     perl -de 42
 
@@ -163,39 +163,54 @@ If you're on Unix, you already have an IDE--Unix itself.  The UNIX
 philosophy is the philosophy of several small tools that each do one
 thing and do it well.  It's like a carpenter's toolbox.
 
-If you want a Windows IDE, check the following:
+If you want an IDE, check the following:
 
 =over 4
 
-=item CodeMagicCD
-
-http://www.codemagiccd.com/
-
 =item Komodo
 
-ActiveState's cross-platform, multi-language IDE has Perl support,
-including a regular expression debugger and remote debugging
-(http://www.ActiveState.com/Products/Komodo/index.html).
-(Visual Perl, a Visual Studio.NET plug-in is currently (early 2001)
-in beta (http://www.ActiveState.com/Products/VisualPerl/index.html)).
+ActiveState's cross-platform (as of April 2001 Windows and Linux),
+multi-language IDE has Perl support, including a regular expression
+debugger and remote debugging
+(http://www.ActiveState.com/Products/Komodo/index.html).  (Visual
+Perl, a Visual Studio.NET plug-in is currently (early 2001) in beta
+(http://www.ActiveState.com/Products/VisualPerl/index.html)).
 
 =item The Object System
 
 (http://www.castlelink.co.uk/object_system/) is a Perl web
-applications development IDE.
+applications development IDE, apparently for any platform
+that runs Perl.
+
+=item Open Perl IDE
+
+( http://open-perl-ide.sourceforge.net/ )
+Open Perl IDE is an integrated development environment for writing
+and debugging Perl scripts with ActiveState's ActivePerl distribution
+under Windows 95/98/NT/2000.
 
 =item PerlBuilder
 
 (http://www.solutionsoft.com/perl.htm) is an integrated development
 environment for Windows that supports Perl development.
 
-=item Perl code magic
+=item visiPerl+
 
-(http://www.petes-place.com/codemagic.html).
+( http://helpconsulting.net/visiperl/ )
+From Help Consulting, for Windows.
 
-=item visiPerl+
+=back
+
+For Windows there's also the
+
+=over 4
+
+=item CodeMagicCD
 
-http://helpconsulting.net/visiperl/, from Help Consulting.
+( http://www.codemagiccd.com/ ) Collection of various programming
+tools for Windows: Perl (5.005_03), TclTk, Python, GNU programming
+tools, REBOL, wxWindows toolkit, the MinGW GNU C/C++ compiler, DJGPP
+GNU C/C++ compiler, Cint C interpreter, YaBasic.
 
 =back
 
@@ -398,7 +413,9 @@ can often make a dramatic difference.  Jon Bentley's book
 on optimization, too.  Advice on benchmarking boils down to: benchmark
 and profile to make sure you're optimizing the right part, look for
 better algorithms instead of microtuning your code, and when all else
-fails consider just buying faster hardware.
+fails consider just buying faster hardware.  You will probably want to
+read the answer to the earlier question ``How do I profile my Perl programs?''
+if you haven't done so already.
 
 A different approach is to autoload seldom-used Perl code.  See the
 AutoSplit and AutoLoader modules in the standard distribution for
@@ -557,14 +574,15 @@ determine the insecure things and exploit them without viewing the
 source.  Security through obscurity, the name for hiding your bugs
 instead of fixing them, is little security indeed.
 
-You can try using encryption via source filters (Filter::* from CPAN),
-but any decent programmer will be able to decrypt it.  You can try using
-the byte code compiler and interpreter described below, but the curious
-might still be able to de-compile it.  You can try using the native-code
-compiler described below, but crackers might be able to disassemble it.
-These pose varying degrees of difficulty to people wanting to get at
-your code, but none can definitively conceal it (true of every
-language, not just Perl).
+You can try using encryption via source filters (Starting from Perl
+5.8 the Filter::Simple and Filter::Util::Call modules are included in
+the standard distribution), but any decent programmer will be able to
+decrypt it.  You can try using the byte code compiler and interpreter
+described below, but the curious might still be able to de-compile it.
+You can try using the native-code compiler described below, but
+crackers might be able to disassemble it.  These pose varying degrees
+of difficulty to people wanting to get at your code, but none can
+definitively conceal it (true of every language, not just Perl).
 
 If you're concerned about people profiting from your code, then the
 bottom line is that nothing but a restrictive license will give you
@@ -802,10 +820,8 @@ information, see L<ExtUtils::MakeMaker>.
 Copyright (c) 1997-1999 Tom Christiansen and Nathan Torkington.
 All rights reserved.
 
-When included as an integrated part of the Standard Distribution
-of Perl or of its documentation (printed or otherwise), this works is
-covered under Perl's Artistic License.  For separate distributions of
-all or part of this FAQ outside of that, see L<perlfaq>.
+This documentation is free; you can redistribute it and/or modify it
+under the same terms as Perl itself.
 
 Irrespective of its distribution, all code examples here are in the public
 domain.  You are permitted and encouraged to use this code and any