This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: update modules sections for 5.20.0
[perl5.git] / pod / perlrun.pod
index 9078677..acf2702 100644 (file)
@@ -220,6 +220,9 @@ clustered with the following switch, if any.
 
     #!/usr/bin/perl -spi.orig  # same as -s -p -i.orig
 
+A C<--> signals the end of options and disables further option processing. Any
+arguments after the C<--> are treated as filenames and arguments.
+
 Switches include:
 
 =over 5
@@ -265,6 +268,8 @@ is equivalent to
 
 An alternate delimiter may be specified using B<-F>.
 
+B<-a> implicitly sets B<-n>.
+
 =item B<-C [I<number/list>]>
 X<-C>
 
@@ -487,9 +492,11 @@ perl, you can check the value of C<$Config{usesitecustomize}>.
 =item B<-F>I<pattern>
 X<-F>
 
-specifies the pattern to split on if B<-a> is also in effect.  The
-pattern may be surrounded by C<//>, C<"">, or C<''>, otherwise it will be
-put in single quotes. You can't use literal whitespace in the pattern.
+specifies the pattern to split on for B<-a>. The pattern may be
+surrounded by C<//>, C<"">, or C<''>, otherwise it will be put in single
+quotes. You can't use literal whitespace in the pattern.
+
+B<-F> implicitly sets both B<-a> and B<-n>.
 
 =item B<-h>
 X<-h>
@@ -592,8 +599,9 @@ If, for a given file, Perl is unable to create the backup file as
 specified in the extension then it will skip that file and continue on
 with the next one (if it exists).
 
-For a discussion of issues surrounding file permissions and B<-i>,
-see L<perlfaq5/Why does Perl let me delete read-only files?  Why does -i clobber protected files?  Isn't this a bug in Perl?>.
+For a discussion of issues surrounding file permissions and B<-i>, see
+L<perlfaq5/Why does Perl let me delete read-only files?  Why does -i clobber
+protected files?  Isn't this a bug in Perl?>.
 
 You cannot use B<-i> to create directories or to strip extensions from
 files.
@@ -663,7 +671,8 @@ B<-mI<MODULE>=foo,bar> or B<-MI<MODULE>=foo,bar> as a shortcut for
 B<'-MI<MODULE> qw(foo bar)'>.  This avoids the need to use quotes when
 importing symbols.  The actual code generated by B<-MI<MODULE>=foo,bar> is
 C<use module split(/,/,q{foo,bar})>.  Note that the C<=> form
-removes the distinction between B<-m> and B<-M>.
+removes the distinction between B<-m> and B<-M>; that is,
+B<-mI<MODULE>=foo,bar> is the same as B<-MI<MODULE>=foo,bar>.
 
 A consequence of this is that B<-MI<MODULE>=number> never does a version check,
 unless C<I<MODULE>::import()> itself is set up to do a version check, which
@@ -738,9 +747,10 @@ if it is invoked with B<-xyz=abc>.
     #!/usr/bin/perl -s
     if ($xyz) { print "$xyz\n" }
 
-Do note that a switch like B<--help> creates the variable C<${-help}>, which is not compliant
-with C<use strict "refs">.  Also, when using this option on a script with
-warnings enabled you may get a lot of spurious "used only once" warnings.
+Do note that a switch like B<--help> creates the variable C<${-help}>, which is
+not compliant with C<use 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>
 X<-S>
@@ -910,19 +920,19 @@ can disable or promote into fatal errors specific warnings using
 C<__WARN__> hooks, as described in L<perlvar> and L<perlfunc/warn>.
 See also L<perldiag> and L<perltrap>.  A fine-grained warning
 facility is also available if you want to manipulate entire classes
-of warnings; see L<warnings> or L<perllexwarn>.
+of warnings; see L<warnings>.
 
 =item B<-W>
 X<-W>
 
 Enables all warnings regardless of C<no warnings> or C<$^W>.
-See L<perllexwarn>.
+See L<warnings>.
 
 =item B<-X>
 X<-X>
 
 Disables all warnings regardless of C<use warnings> or C<$^W>.
-See L<perllexwarn>.
+See L<warnings>.
 
 =item B<-x>
 X<-x>
@@ -1265,26 +1275,26 @@ randomized to protect against local and remote attacks against Perl
 code. By manually setting a seed, this protection may be partially or
 completely lost.
 
-See L<perlsec/"Algorithmic Complexity Attacks"> and L</PERL_PERTURB_KEYS>
+See L<perlsec/"Algorithmic Complexity Attacks">, L</PERL_PERTURB_KEYS>, and
 L</PERL_HASH_SEED_DEBUG> for more information.
 
 =item PERL_PERTURB_KEYS
 X<PERL_PERTURB_KEYS>
 
 (Since Perl 5.18.0)  Set to C<"0"> or C<"NO"> then traversing keys
-will be repeatedable from run to run for the same PERL_HASH_SEED.
+will be repeatable from run to run for the same PERL_HASH_SEED.
 Insertion into a hash will not change the order, except to provide
 for more space in the hash. When combined with setting PERL_HASH_SEED
 this mode is as close to pre 5.18 behavior as you can get.
 
 When set to C<"1"> or C<"RANDOM"> then traversing keys will be randomized.
 Every time a hash is inserted into the key order will change in a random
-fashion. The order may not be repeatedable in a following program run
+fashion. The order may not be repeatable in a following program run
 even if the PERL_HASH_SEED has been specified. This is the default
 mode for perl.
 
 When set to C<"2"> or C<"DETERMINISTIC"> then inserting keys into a hash
-will cause the key order to change, but in a way that is repeatedable
+will cause the key order to change, but in a way that is repeatable
 from program run to program run.
 
 B<NOTE:> Use of this option is considered insecure, and is intended only