X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlfaq3.pod;h=1887bd80408b0af987df8113dd5803345ebaeeb9;hb=1a6071381913ad8fca476a56b6dbb62e5c99c1bd;hp=7e0c193da704df5784ba8b63eac554be107c4d04;hpb=67d143eceea774b64914343793da246aa41f6fb5;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlfaq3.pod b/pod/perlfaq3.pod index 7e0c193..1887bd8 100644 --- a/pod/perlfaq3.pod +++ b/pod/perlfaq3.pod @@ -1,6 +1,6 @@ =head1 NAME -perlfaq3 - Programming Tools ($Revision: 1.10 $, $Date: 2001/11/19 17:09:37 $) +perlfaq3 - Programming Tools ($Revision: 1.18 $, $Date: 2002/04/09 17:11:16 $) =head1 DESCRIPTION @@ -22,8 +22,9 @@ Have you read the appropriate manpages? Here's a brief index: Regexes perlre, perlfunc, perlop, perllocale Moving to perl5 perltrap, perl Linking w/C perlxstut, perlxs, perlcall, perlguts, perlembed - Various http://www.cpan.org/doc/FMTEYEWTK/index.html - (not a man-page but still useful) + Various http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz + (not a man-page but still useful, a collection + of various essays on Perl techniques) A crude table of contents for the Perl manpage set is found in L. @@ -122,9 +123,8 @@ of contrasting algorithms. =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 @@ -154,13 +154,9 @@ for indenting, ^D is for undenting, and ^O is for blockdenting-- as it were. A more complete example, with comments, can be found at http://www.cpan.org/authors/id/TOMC/scripts/toms.exrc.gz -If you are used to using the I program for printing out nice code -to a laser printer, you can take a stab at this using -http://www.cpan.org/doc/misc/tips/working.vgrind.entry, but the -results are not particularly satisfying for sophisticated code. - -The a2ps at http://www.infres.enst.fr/%7Edemaille/a2ps/ does lots of things -related to generating nicely printed output of documents. +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/ . =head2 Is there a ctags for Perl? @@ -189,13 +185,13 @@ If you want an IDE, check the following: 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. @@ -208,7 +204,7 @@ under Windows 95/98/NT/2000. =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+ @@ -243,14 +239,14 @@ do not work since they insert all sorts of behind-the-scenes 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 @@ -289,9 +285,10 @@ 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 + 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 @@ -319,9 +316,9 @@ http://www.slickedit.com/ 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 @@ -331,21 +328,21 @@ powerful shell environment for Win32. Your options include =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 @@ -369,18 +366,18 @@ no 32k limit). =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? @@ -388,7 +385,7 @@ For a complete version of Tom Christiansen's vi configuration file, 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? @@ -409,7 +406,7 @@ shouldn't be an issue. 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 similar to B. @@ -647,7 +644,7 @@ you> because the process start-up overhead is where the bottleneck is. 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 @@ -659,7 +656,7 @@ anything a module written in C can. For more on mod_perl, see 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 @@ -836,6 +833,9 @@ For example: 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""" @@ -854,8 +854,7 @@ characters as control characters. 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.] @@ -873,9 +872,13 @@ guides and references in L or in the CGI MetaFAQ: =head2 Where can I learn about object-oriented Perl programming? A good place to start is L, and you can use L, -L, and L for reference. Perltoot didn't come out -until the 5.004 release; you can get a copy (in pod, html, or -postscript) from http://www.cpan.org/doc/FMTEYEWTK/ . +L, L, L, and L for reference. +(If you are using really old Perl, you may not have all of these, +try http://www.perldoc.com/ , but consider upgrading your perl.) + +A good book on OO on Perl is the "Object-Oriented Perl" +by Damian Conway from Manning Publications, +http://www.manning.com/Conway/index.html =head2 Where can I learn about linking C with Perl? [h2xs, xsubpp] @@ -894,8 +897,7 @@ the tests pass, read the pods again and again and again. If they fail, see L and send a bug report with the output of C along with C. -=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. You can also use the splain program @@ -920,7 +922,7 @@ information, see L. =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