=head1 NAME
-perlfaq3 - Programming Tools ($Revision: 1.10 $, $Date: 2001/11/19 17:09:37 $)
+perlfaq3 - Programming Tools ($Revision: 1.21 $, $Date: 2002/04/28 15:51:10 $)
=head1 DESCRIPTION
=head2 How do I cross-reference my Perl programs?
-The B::Xref module, shipped with the new, alpha-release Perl compiler
-(not the general distribution prior to the 5.005 release), can be used
-to generate cross-reference reports for Perl programs.
+The B::Xref module can be used to generate cross-reference reports
+for Perl programs.
perl -MO=Xref[,OPTIONS] scriptname.plx
The a2ps http://www-inf.enst.fr/%7Edemaille/a2ps/black+white.ps does
lots of things related to generating nicely printed output of
-documents, as does enscript at http://people.ssh.fi/mtr/genscript/.
+documents, as does enscript at http://people.ssh.fi/mtr/genscript/ .
=head2 Is there a ctags for Perl?
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
+( 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)).
+( http://www.ActiveState.com/Products/VisualPerl/index.html )).
=item The Object System
-(http://www.castlelink.co.uk/object_system/) is a Perl web
+( http://www.castlelink.co.uk/object_system/ ) is a Perl web
applications development IDE, apparently for any platform
that runs Perl.
=item PerlBuilder
-(http://www.solutionsoft.com/perl.htm) is an integrated development
+( 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.
+=item OptiPerl
+
+( http://www.optiperl.com/ ) is a Windows IDE with simulated CGI
+environment, including debugger and syntax highlighting editor.
+
=back
For Windows there's also the
information, although some allow you to save files as "Text
Only". You can also download text editors designed
specifically for programming, such as Textpad
-(http://www.textpad.com/) and UltraEdit
-(http://www.ultraedit.com), among others.
+( http://www.textpad.com/ ) and UltraEdit
+( http://www.ultraedit.com/ ), among others.
If you are using MacOS, the same concerns apply. MacPerl
(for Classic environments) comes with a simple editor.
-Popular external editors are BBEdit (http://www.bbedit.com)
-or Alpha (http://alpha.olm.net/). MacOS X users can use Unix
-editors as well.
+Popular external editors are BBEdit ( http://www.bbedit.com/ )
+or Alpha ( http://www.kelehers.org/alpha/ ). MacOS X users can
+use Unix editors as well.
=over 4
=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
+ 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, 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
There is also a toyedit Text widget based editor written in Perl
that is distributed with the Tk module on CPAN. The ptkdb
-(http://world.std.com/~aep/ptkdb/) is a Perl/tk based debugger that
+( http://world.std.com/~aep/ptkdb/ ) is a Perl/tk based debugger that
acts as a development environment of sorts. Perl Composer
-(http://perlcomposer.sourceforge.net/vperl.html) is an IDE for Perl/Tk
+( http://perlcomposer.sourceforge.net/vperl.html ) is an IDE for Perl/Tk
GUI creation.
In addition to an editor/IDE you might be interested in a more
=item Bash
-from the Cygwin package (http://sources.redhat.com/cygwin/)
+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/)
+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
+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/
+ftp://ftp.blarg.net/users/amol/zsh/ , see also http://www.zsh.org/
=back
=item BBEdit and BBEdit Lite
are text editors for Mac OS that have a Perl sensitivity mode
-(http://web.barebones.com/).
+( 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/).
+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/).
+OS X and BeOS respectively ( http://www.hekkelman.com/ ).
=head2 Where can I get Perl macros for vi?
see http://www.cpan.org/authors/Tom_Christiansen/scripts/toms.exrc.gz ,
the standard benchmark file for vi emulators. The file runs best with nvi,
the current version of vi out of Berkeley, which incidentally can be built
-with an embedded Perl interpreter--see http://www.cpan.org/src/misc.
+with an embedded Perl interpreter--see http://www.cpan.org/src/misc/ .
=head2 Where can I get perl-mode for emacs?
The Curses module from CPAN provides a dynamically loadable object
module interface to a curses library. A small demo can be found at the
-directory http://www.cpan.org/authors/Tom_Christiansen/scripts/rep;
+directory http://www.cpan.org/authors/Tom_Christiansen/scripts/rep ;
this program repeats a command and updates the screen as needed, rendering
B<rep ps axu> similar to B<top>.
For "big" data stores (i.e. ones that exceed available memory) consider
using one of the DB modules to store it on disk instead of in RAM. This
-will incur a penalty in access time, but that's probably better that
+will incur a penalty in access time, but that's probably better than
causing your hard disk to thrash due to massive swapping.
=back
There are two popular ways to avoid this overhead. One solution
involves running the Apache HTTP server (available from
-http://www.apache.org/) with either of the mod_perl or mod_fastcgi
+http://www.apache.org/ ) with either of the mod_perl or mod_fastcgi
plugin modules.
With mod_perl and the Apache::Registry module (distributed with
http://perl.apache.org/
With the FCGI module (from CPAN) and the mod_fastcgi
-module (available from http://www.fastcgi.com/) each of your Perl
+module (available from http://www.fastcgi.com/ ) each of your Perl
programs becomes a permanent CGI daemon process.
Both of these solutions can have far-reaching effects on your system
print "Hello world\n"
(then Run "Myscript" or Shift-Command-R)
+ # MPW
+ perl -e 'print "Hello world\n"'
+
# VMS
perl -e "print ""Hello world\n"""
Using qq(), q(), and qx(), instead of "double quotes", 'single
quotes', and `backticks`, may make one-liners easier to write.
-There is no general solution to all of this. It is a mess, pure and
-simple. Sucks to be away from Unix, huh? :-)
+There is no general solution to all of this. It is a mess.
[Some of this answer was contributed by Kenneth Albanowski.]
fail, see L<perlbug> and send a bug report with the output of
C<make test TEST_VERBOSE=1> along with C<perl -V>.
-=head2 When I tried to run my script, I got this message. What does it
-mean?
+=head2 When I tried to run my script, I got this message. What does it mean?
A complete list of Perl's error messages and warnings with explanatory
text can be found in L<perldiag>. You can also use the splain program
=head1 AUTHOR AND COPYRIGHT
-Copyright (c) 1997-1999 Tom Christiansen and Nathan Torkington.
+Copyright (c) 1997-2002 Tom Christiansen and Nathan Torkington.
All rights reserved.
This documentation is free; you can redistribute it and/or modify it