=head1 NAME
-perlfaq3 - Programming Tools ($Revision: 1.15 $, $Date: 2002/02/11 19:29:52 $)
+perlfaq3 - Programming Tools ($Revision: 1.22 $, $Date: 2002/05/06 13:11:13 $)
=head1 DESCRIPTION
as it were. A more complete example, with comments, can be found at
http://www.cpan.org/authors/id/TOMC/scripts/toms.exrc.gz
-The a2ps http://www-inf.enst.fr/%7Edemaille/a2ps/black+white.ps.gz does
+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?
( 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
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.
+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
+
+ 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
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?
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
=head2 How can I free an array or hash so my program shrinks?
-You can't. On most operating systems, memory allocated to a program
-can never be returned to the system. That's why long-running programs
-sometimes re-exec themselves. Some operating systems (notably,
-FreeBSD and Linux) allegedly reclaim large chunks of memory that is no
-longer used, but it doesn't appear to happen with Perl (yet). The Mac
-appears to be the only platform that will reliably (albeit, slowly)
-return memory to the OS.
-
-We've had reports that on Linux (Redhat 5.1) on Intel, C<undef
-$scalar> will return memory to the system, while on Solaris 2.6 it
-won't. In general, try it yourself and see.
+You usually can't. On most operating systems, memory
+allocated to a program can never be returned to the system.
+That's why long-running programs sometimes re-exec
+themselves. Some operating systems (notably, systems that
+use mmap(2) for allocating large chunks of memory) can
+reclaim memory that is no longer used, but on such systems,
+perl must be configured and compiled to use the OS's malloc,
+not perl's.
However, judicious use of my() on your variables will help make sure
that they go out of scope so that Perl can free up that space for
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