B<perl> S<[ B<-sTtuUWX> ]>
S<[ B<-hv> ] [ B<-V>[:I<configvar>] ]>
- S<[ B<-cw> ] [ B<-d>[:I<debugger>] ] [ B<-D>[I<number/list>] ]>
+ S<[ B<-cw> ] [ B<-d>[B<t>][:I<debugger>] ] [ B<-D>[I<number/list>] ]>
S<[ B<-pna> ] [ B<-F>I<pattern> ] [ B<-l>[I<octal>] ] [ B<-0>[I<octal/hexadecimal>] ]>
S<[ B<-I>I<dir> ] [ B<-m>[B<->]I<module> ] [ B<-M>[B<->]I<'module...'> ]>
+ S<[ B<-A [I<assertions>] >]>
+ S<[ B<-C [I<number/list>] >]>
S<[ B<-P> ]>
S<[ B<-S> ]>
S<[ B<-x>[I<dir>] ]>
S<[ B<-i>[I<extension>] ]>
S<[ B<-e> I<'command'> ] [ B<--> ] [ I<programfile> ] [ I<argument> ]...>
- S<[ B<-A [I<assertions>] >]>
- S<[ B<-C [I<number/list>] >]>
=head1 DESCRIPTION
=item Macintosh
-A Macintosh perl program will have the appropriate Creator and
-Type, so that double-clicking them will invoke the perl application.
+Under "Classic" MacOS, a perl program will have the appropriate Creator and
+Type, so that double-clicking them will invoke the MacPerl application.
+Under Mac OS X, clickable apps can be made from any C<#!> script using Wil
+Sanchez' DropScript utility: http://www.wsanchez.net/software/ .
=item VMS
=item B<-d>
+=item B<-dt>
+
runs the program under the Perl debugger. See L<perldebug>.
+If B<t> is specified, it indicates to the debugger that threads
+will be used in the code being debugged.
=item B<-d:>I<foo[=bar,baz]>
+=item B<-dt:>I<foo[=bar,baz]>
+
runs the program under the control of a debugging, profiling, or
tracing module installed as Devel::foo. E.g., B<-d:DProf> executes
the program using the Devel::DProf profiler. As with the B<-M>
flag, options may be passed to the Devel::foo package where they
will be received and interpreted by the Devel::foo::import routine.
The comma-separated list of options must follow a C<=> character.
+If B<t> is specified, it indicates to the debugger that threads
+will be used in the code being debugged.
See L<perldebug>.
=item B<-D>I<letters>
you can't use Perl's B<-D> switch. Instead do this
# If you have "env" utility
- env=PERLDB_OPTS="NonStop=1 AutoTrace=1 frame=2" perl -dS program
+ env PERLDB_OPTS="NonStop=1 AutoTrace=1 frame=2" perl -dS program
# Bourne shell syntax
$ PERLDB_OPTS="NonStop=1 AutoTrace=1 frame=2" perl -dS program
commands may be given to build up a multi-line script. Make sure
to use semicolons where you would in a normal program.
+=item B<-f>
+
+Disable executing F<$Config{siteperl}/sitecustomize.pl> at
+startup.
+
+Perl can be built so that it by default will try to execute
+F<$Config{siteperl}/sitecustomize.pl> at startup. This is a hook that
+allows the sysadmin to customize how perl behaves. It can for
+instance be used to add entries to the @INC array to make perl find
+modules in non-standard locations.
+
=item B<-F>I<pattern>
specifies the pattern to split on if B<-a> is also in effect. The
lines printed. If a file named by an argument cannot be opened for
some reason, Perl warns you about it and moves on to the next file.
-Here is an efficient way to delete all files that haven't been modifed for
+Here is an efficient way to delete all files that haven't been modified for
at least a week:
find . -mtime +7 -print | perl -nle unlink
if ($xyz) { print "$xyz\n" }
Do note that B<--help> creates the variable ${-help}, which is not compliant
-with C<strict refs>.
+with C<strict refs>. Also, when using this option on a script with
+warnings enabled you may get a lot of spurious "used only once" warnings.
=item B<-S>
that are mentioned only once and scalar variables that are used
before being set, redefined subroutines, references to undefined
filehandles or filehandles opened read-only that you are attempting
-to write on, values used as a number that doesn't look like numbers,
+to write on, values used as a number that don't look like numbers,
using an array as though it were a scalar, if your subroutines
recurse more than 100 deep, and innumerable other things.
set PERLIO_DEBUG=CON
perl script ...
+This functionality is disabled for setuid scripts and for scripts run
+with B<-T>.
=item PERLLIB
BEGIN { require 'perl5db.pl' }
+=item PERL5DB_THREADED
+
+If set to a true value, indicates to the debugger that the code being
+debugged uses threads.
+
=item PERL5SHELL (specific to the Win32 port)
May be set to an alternative shell that perl must use internally for
In Perls 5.8.1 and later. If set to C<unsafe> the pre-Perl-5.8.0
signals behaviour (immediate but unsafe) is restored. If set to
C<safe> the safe (or deferred) signals are used.
-See L<perlipc/"Deferred Signals (Safe signals)">.
+See L<perlipc/"Deferred Signals (Safe Signals)">.
=item PERL_UNICODE