This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Document getprotobynumber’s precedence
[perl5.git] / pod / perlrun.pod
index d51342f..22f50cc 100644 (file)
@@ -143,8 +143,8 @@ Perl program and a Perl library file.
 
 Put
 
   $ perl -mysw 'f$env("procedure")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' !
   $ exit++ + ++$status != 0 and $exit = $status = undef;
+ $ perl -mysw 'f$env("procedure")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' !
+ $ exit++ + ++$status != 0 and $exit = $status = undef;
 
 at the top of your program, where B<-mysw> are any command line switches you
 want to pass to Perl.  You can now invoke the program directly, by saying
@@ -160,7 +160,7 @@ Command-interpreters on non-Unix systems have rather different ideas
 on quoting than Unix shells.  You'll need to learn the special
 characters in your command-interpreter (C<*>, C<\> and C<"> are
 common) and how to protect whitespace and these characters to run
-one-liners (see B<-e> below).
+one-liners (see L<-e|/-e commandline> below).
 
 On some systems, you may have to change single-quotes to double ones,
 which you must I<not> do on Unix or Plan 9 systems.  You might also
@@ -282,13 +282,13 @@ are as follows; listing the letters is equal to summing the numbers.
     D    24   i + o
     A    32   the @ARGV elements are expected to be strings encoded
               in UTF-8
-    L    64   normally the "IOEioA" are unconditional,
-              the L makes them conditional on the locale environment
-              variables (the LC_ALL, LC_TYPE, and LANG, in the order
-              of decreasing precedence) -- if the variables indicate
+    L    64   normally the "IOEioA" are unconditional, the L makes
+              them conditional on the locale environment 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.
+    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 */"
@@ -314,6 +314,7 @@ same effect as B<-CSDL>.  In other words, the standard I/O handles and
 the default C<open()> layer are UTF-8-fied I<but> only if the locale
 environment variables indicate a UTF-8 locale.  This behaviour follows
 the I<implicit> (and problematic) UTF-8 behaviour of Perl 5.8.0.
+(See L<perl581delta/UTF-8 no longer default under UTF-8 locales>.)
 
 You can use B<-C0> (or C<"0"> for C<PERL_UNICODE>) to explicitly
 disable all the above Unicode features.
@@ -393,19 +394,24 @@ B<-D14> is equivalent to B<-Dtls>):
       512  r  Regular expression parsing and execution
      1024  x  Syntax tree dump
      2048  u  Tainting checks
-     4096  U  Unofficial, User hacking (reserved for private, unreleased use)
+     4096  U  Unofficial, User hacking (reserved for private,
+              unreleased use)
      8192  H  Hash dump -- usurps values()
     16384  X  Scratchpad allocation
     32768  D  Cleaning up
    131072  T  Tokenizing
-   262144  R  Include reference counts of dumped variables (eg when using -Ds)
-   524288  J  show s,t,P-debug (don't Jump over) on opcodes within package DB
+   262144  R  Include reference counts of dumped variables (eg when
+              using -Ds)
+   524288  J  show s,t,P-debug (don't Jump over) on opcodes within
+              package DB
   1048576  v  Verbose: use in conjunction with other flags
   2097152  C  Copy On Write
   4194304  A  Consistency checks on internal structures
-  8388608  q  quiet - currently only suppresses the "EXECUTING" message
+  8388608  q  quiet - currently only suppresses the "EXECUTING"
+              message
  16777216  M  trace smart match resolution
- 33554432  B  dump suBroutine definitions, including special Blocks like BEGIN
+ 33554432  B  dump suBroutine definitions, including special Blocks
+              like BEGIN
 
 All these flags require B<-DDEBUGGING> when you compile the Perl
 executable (but see C<:opd> in L<Devel::Peek> or L<re/'debug' mode>
@@ -512,20 +518,22 @@ as:
 This allows you to add a prefix to the backup file, instead of (or in
 addition to) a suffix:
 
-    $ perl -pi'orig_*' -e 's/bar/baz/' fileA   # backup to 'orig_fileA'
+ $ perl -pi'orig_*' -e 's/bar/baz/' fileA  # backup to
+                                           # 'orig_fileA'
 
 Or even to place backup copies of the original files into another
 directory (provided the directory already exists):
 
-    $ perl -pi'old/*.orig' -e 's/bar/baz/' fileA # backup to 'old/fileA.orig'
+ $ perl -pi'old/*.orig' -e 's/bar/baz/' fileA  # backup to
+                                               # 'old/fileA.orig'
 
 These sets of one-liners are equivalent:
 
   $ perl -pi -e 's/bar/baz/' fileA           # overwrite current file
   $ perl -pi'*' -e 's/bar/baz/' fileA                # overwrite current file
$ perl -pi -e 's/bar/baz/' fileA          # overwrite current file
$ perl -pi'*' -e 's/bar/baz/' fileA       # overwrite current file
 
   $ perl -pi'.orig' -e 's/bar/baz/' fileA    # backup to 'fileA.orig'
   $ perl -pi'*.orig' -e 's/bar/baz/' fileA   # backup to 'fileA.orig'
$ perl -pi'.orig' -e 's/bar/baz/' fileA   # backup to 'fileA.orig'
$ perl -pi'*.orig' -e 's/bar/baz/' fileA  # backup to 'fileA.orig'
 
 From the shell, saying
 
@@ -669,7 +677,7 @@ I<awk>:
        ...             # your program goes here
     }
 
-Note that the lines are not printed by default.  See B<-p> to have
+Note that the lines are not printed by default.  See L</-p> to have
 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.