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<-eE> I<'command'> ] [ B<--> ] [ I<programfile> ] [ I<argument> ]...>
=head1 DESCRIPTION
=item 1.
-Specified line by line via B<-e> switches on the command line.
+Specified line by line via B<-e> or B<-E> switches on the command line.
=item 2.
variables (the LC_ALL, LC_TYPE, and LANG, in the order
of decreasing precedence) -- if the variables indicate
UTF-8, then the selected "IOEioA" are in effect
+ a 256 Set ${^UTF8CACHE} to -1, to run the UTF-8 caching code in
+ debugging mode.
+
+=for documenting_the_underdocumented
+perl.h gives W/128 as PERL_UNICODE_WIDESYSCALLS "/* for Sarathy */"
+
+=for todo
+perltodo mentions Unicode in %ENV and filenames. I guess that these will be
+options e and f (or F).
For example, C<-COE> and C<-C6> will both turn on UTF-8-ness on both
STDOUT and STDERR. Repeating letters is just redundant, not cumulative
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<-E> I<commandline>
+X<-E>
+
+behaves just like B<-e>, except that it implicitly enables all
+optional features (in the main compilation unit). See L<feature>.
+
=item B<-f>
X<-f>
-Disable executing F<$Config{siteperl}/sitecustomize.pl> at
-startup.
+Disable executing F<$Config{sitelib}/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
+F<$Config{sitelib}/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.
enables rudimentary switch parsing for switches on the command
line after the program name but before any filename arguments (or before
-an argument of B<-->). This means you can have switches with two leading
-dashes (B<--help>). Any switch found there is removed from @ARGV and sets the
+an argument of B<-->). Any switch found there is removed from @ARGV and sets the
corresponding variable in the Perl program. The following program
prints "1" if the program is invoked with a B<-xyz> switch, and "abc"
if it is invoked with B<-xyz=abc>.
#!/usr/bin/perl -s
if ($xyz) { print "$xyz\n" }
-Do note that B<--help> creates the variable ${-help}, which is not compliant
+Do note that a switch like B<--help> creates the variable ${-help}, which is not compliant
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.
X<-U>
allows Perl to do unsafe operations. Currently the only "unsafe"
-operations are the unlinking of directories while running as superuser,
-and running setuid programs with fatal taint checks turned into
-warnings. Note that the B<-w> switch (or the C<$^W> variable) must
-be used along with this option to actually I<generate> the
-taint-check warnings.
+operations are attempting to unlink directories while running as
+superuser, and running setuid programs with fatal taint checks turned
+into warnings. Note that the B<-w> switch (or the C<$^W> variable)
+must be used along with this option to actually I<generate> the
+taint-check warnings.
=item B<-v>
X<-v>