#!/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
An alternate delimiter may be specified using B<-F>.
+B<-a> implicitly sets B<-n>.
+
=item B<-C [I<number/list>]>
X<-C>
=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>
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.
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
#!/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>
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>.
+Enables "all" warnings regardless of C<no warnings> or C<$^W>.
+See L<warnings>.
=item B<-X>
X<-X>
-Disables all warnings regardless of C<use warnings> or C<$^W>.
-See L<perllexwarn>.
+Disables "all" warnings regardless of C<use warnings> or C<$^W>.
+See L<warnings>.
=item B<-x>
X<-x>
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