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
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
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: PerlBuilder
-(http://www.solutionsoft.com/perl.htm) is an integrated development
-environment for Windows that supports Perl development. 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 (late 2000)
-in beta (http://www.ActiveState.com/Products/VisualPerl/index.html)).
-The visiPerl+ IDE is available from Help Consulting
-(http://helpconsulting.net/visiperl/). Perl code magic is another IDE
-(http://www.petes-place.com/codemagic.html). CodeMagicCD
-(http://www.codemagiccd.com/) is another IDE. The Object System
+If you want an IDE, check the following:
+
+=over 4
+
+=item Komodo
+
+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 visiPerl+
+
+( http://helpconsulting.net/visiperl/ )
+From Help Consulting, for Windows.
+
+=back
+
+For Windows there's also the
+
+=over 4
+
+=item CodeMagicCD
+
+( 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
For editors: if you're on Unix you probably have vi or a vi clone already,
and possibly an emacs too, so you may not need to download anything.
In any emacs the cperl-mode (M-x cperl-mode) gives you perhaps the
best available Perl editing mode in any editor.
-For Windows editors: you can download GNU Emacs
-(http://www.gnu.org/software/emacs/windows/ntemacs.html) or XEmacs
-(http://www.xemacs.org/Download/index.html), or a vi clone such as
-Elvis (ftp://ftp.cs.pdx.edu/pub/elvis/, http://www.fh-wedel.de/elvis/),
-Vile (http://vile.cx), or Vim (http://www.vim.org/)
-(win32: http://www.cs.vu.nl/%7Etmgil/vi.html).
+For Windows editors: you can download an Emacs
+
+=over 4
+
+=item GNU Emacs
+
+http://www.gnu.org/software/emacs/windows/ntemacs.html
+
+=item MicroEMACS
+
+http://members.nbci.com/uemacs/
+
+=item XEmacs
+
+http://www.xemacs.org/Download/index.html
+
+=back
+
+or a vi clone such as
+
+=over 4
+
+=item Elvis
+
+ftp://ftp.cs.pdx.edu/pub/elvis/ http://www.fh-wedel.de/elvis/
+
+=item Vile
+
+http://vile.cx/
+
+=item Vim
+
+http://www.vim.org/
+
+win32: http://www.cs.vu.nl/%7Etmgil/vi.html
+
+=back
+
For vi lovers in general, Windows or elsewhere:
http://www.thomer.com/thomer/vi/vi.html.
to use Perl as the scripting language. nvi is not alone in this,
though: at least also vim and vile offer an embedded Perl.
-The following are Win32 multilanguage editor/IDESs that support Perl:
-Codewright (http://www.starbase.com/), MultiEdit (http://www.MultiEdit.com/),
-SlickEdit (http://www.slickedit.com/).
+The following are Win32 multilanguage editor/IDESs that support Perl:
+
+=over 4
+
+=item Codewright
+
+http://www.starbase.com/
+
+=item MultiEdit
+
+http://www.MultiEdit.com/
+
+=item SlickEdit
+
+http://www.slickedit.com/
+
+=back
There is also a toyedit Text widget based editor written in Perl
that is distributed with the Tk module on CPAN. The ptkdb
GUI creation.
In addition to an editor/IDE you might be interested in a more
-powerful shell environment for Win32. Your options include the Bash
-from the Cygwin package (http://sources.redhat.com/cygwin/), or the
-Ksh from the MKS Toolkit (http://www.mks.com/), or the Bourne shell of
-the U/WIN environment (http://www.research.att.com/sw/tools/uwin/), or
-the Tcsh (ftp://ftp.astron.com/pub/tcsh/, see also
-http://www.primate.wisc.edu/software/csh-tcsh-book/), or the Zsh
-(ftp://ftp.blarg.net/users/amol/zsh/, see also http://www.zsh.org/).
+powerful shell environment for Win32. Your options include
+
+=over 4
+
+=item Bash
+
+from the Cygwin package (http://sources.redhat.com/cygwin/)
+
+=item Ksh
+
+from the MKS Toolkit (http://www.mks.com/), or the Bourne shell of
+the U/WIN environment (http://www.research.att.com/sw/tools/uwin/)
+
+=item Tcsh
+
+ftp://ftp.astron.com/pub/tcsh/, see also
+http://www.primate.wisc.edu/software/csh-tcsh-book/
+
+=item Zsh
+
+ftp://ftp.blarg.net/users/amol/zsh/, see also http://www.zsh.org/
+
+=back
+
MKS and U/WIN are commercial (U/WIN is free for educational and
research purposes), Cygwin is covered by the GNU Public License (but
that shouldn't matter for Perl use). The Cygwin, MKS, and U/WIN all
On Mac OS the MacPerl Application comes with a simple 32k text editor
that behaves like a rudimentary IDE. In contrast to the MacPerl Application
the MPW Perl tool can make use of the MPW Shell itself as an editor (with
-no 32k limit). BBEdit and BBEdit Lite are text editors for Mac OS
-that have a Perl sensitivity mode (http://web.barebones.com/).
-Alpha is an editor, written and extensible in Tcl, that nonetheless has
+no 32k limit).
+
+=over 4
+
+=item BBEdit and BBEdit Lite
+
+are text editors for Mac OS that have a Perl sensitivity mode
+(http://web.barebones.com/).
+
+=item Alpha
+
+is an editor, written and extensible in Tcl, that nonetheless has
built in support for several popular markup and programming languages
-including Perl and HTML (http://alpha.olm.net/). Pepper and Pe are
-programming language sensitive text editors for Mac OS X and BeOS
-respectively (http://www.hekkelman.com).
+including Perl and HTML (http://alpha.olm.net/).
+
+=back
+
+Pepper and Pe are programming language sensitive text editors for Mac
+OS X and BeOS respectively (http://www.hekkelman.com/).
=head2 Where can I get Perl macros for vi?
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