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
Perl programs are just plain text, so any editor will do.
-If you're transferring Windows text files to Unix using FTP be sure
-to transfer them in ASCII mode so the ends of lines are appropriately
-converted.
-
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.
-For Windows: 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 in beta
-(late 2000) (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
-Editors: if you're on Unix you probably have vi or a vi clone already,
+( 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 anyemacs the cperl-mode (M-x cperl-mode) gives you perhaps the
+In any emacs the cperl-mode (M-x cperl-mode) gives you perhaps the
best available Perl editing mode in any editor.
-In Windows: 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://www.clark.net/pub/dickey/vile/vile.html), or
-Vim (http://www.vim.org/) (win32: http://www.cs.vu.nl/%7Etmgil/vi.html).
-For vi lovers in general: http://www.thomer.com/thomer/vi/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.
nvi (http://www.bostic.com/vi/, available from CPAN in src/misc/) is
-yet another vi clone, not unfortunately available for Windows, but in
+yet another vi clone, unfortunately not available for Windows, but in
UNIX platforms you might be interested in trying it out, firstly because
strictly speaking it is not a vi clone, it is the real vi, or the new
incarnation of it, and secondly because you can embed Perl inside it
to use Perl as the scripting language. nvi is not alone in this,
-though: at least also vim offers an embedded Perl.
+though: at least also vim and vile offer an embedded Perl.
+
+The following are Win32 multilanguage editor/IDESs that support Perl:
+
+=over 4
+
+=item Codewright
-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/).
+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
contain (in addition to the shells) a comprehensive set of standard
UNIX toolkit utilities.
+If you're transferring text files between Unix and Windows using FTP
+be sure to transfer them in ASCII mode so the ends of lines are
+appropriately converted.
+
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/).
+=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?
For a complete version of Tom Christiansen's vi configuration file,
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