1 Linux Standard Base Languages Specification 4.1 2 3 Copyright © 2010 Linux Foundation 4 5 Permission is granted to copy, distribute and/or modify this 6 document under the terms of the GNU Free Documentation License, 7 Version 1.1; with no Invariant Sections, with no Front-Cover 8 Texts, and with no Back-Cover Texts. A copy of the license is 9 included in the section entitled "GNU Free Documentation 10 License". 11 12 Portions of the text may be copyrighted by the following 13 parties: 14 15 * The Regents of the University of California 16 * Free Software Foundation 17 * Ian F. Darwin 18 * Paul Vixie 19 * BSDI (now Wind River) 20 * Andrew G Morgan 21 * Jean-loup Gailly and Mark Adler 22 * Massachusetts Institute of Technology 23 * Apple Inc. 24 * Easy Software Products 25 * artofcode LLC 26 * Till Kamppeter 27 * Manfred Wassman 28 * Python Software Foundation 29 30 These excerpts are being used in accordance with their 31 respective licenses. 32 33 Linux is the registered trademark of Linus Torvalds in the U.S. 34 and other countries. 35 36 UNIX is a registered trademark of The Open Group. 37 38 LSB is a trademark of the Linux Foundation in the United States 39 and other countries. 40 41 AMD is a trademark of Advanced Micro Devices, Inc. 42 43 Intel and Itanium are registered trademarks and Intel386 is a 44 trademark of Intel Corporation. 45 46 PowerPC is a registered trademark and PowerPC Architecture is a 47 trademark of the IBM Corporation. 48 49 S/390 is a registered trademark of the IBM Corporation. 50 51 OpenGL is a registered trademark of Silicon Graphics, Inc. 52 __________________________________________________________ 53 54 Table of Contents 55 Foreword 56 Status of this Document 57 Introduction 58 I. Introductory Elements 59 60 1. Scope 61 2. Normative References 62 3. Requirements 63 4. Terms and Definitions 64 5. Documentation Conventions 65 66 II. Python Interpreter 67 68 6. Python Interpreter 69 70 6.1. Introduction 71 6.2. Python Interpreter Location 72 6.3. Python Interpreter Version 73 6.4. Operators and Functions 74 6.5. Python Modules 75 6.6. Python Interpreter Command 76 77 III. Perl Interpreter 78 79 7. Perl Interpreter 80 81 7.1. Introduction 82 7.2. Perl Interpreter Location 83 7.3. Perl Interpreter Version 84 7.4. Perl Operators and Functions 85 7.5. Perl Modules 86 7.6. Perl Interpreter Command 87 88 A. GNU Free Documentation License (Informative) 89 90 A.1. PREAMBLE 91 A.2. APPLICABILITY AND DEFINITIONS 92 A.3. VERBATIM COPYING 93 A.4. COPYING IN QUANTITY 94 A.5. MODIFICATIONS 95 A.6. COMBINING DOCUMENTS 96 A.7. COLLECTIONS OF DOCUMENTS 97 A.8. AGGREGATION WITH INDEPENDENT WORKS 98 A.9. TRANSLATION 99 A.10. TERMINATION 100 A.11. FUTURE REVISIONS OF THIS LICENSE 101 A.12. How to use this License for your documents 102 103 List of Tables 104 2-1. Informative References 105 6-1. Python Modules 106 7-1. Perl Modules 107 __________________________________________________________ 108 109 Foreword 110 111 This is version 4.1 of the Linux Standard Base Languages 112 Specification. This specification is one of a series of volumes 113 under the collective title Linux Standard Base: 114 115 * Core 116 * C++ 117 * Desktop 118 * Languages 119 * Printing 120 121 Note that the Core, C++ and Desktop volumes consist of a 122 generic volume augmented by an architecture-specific volume. 123 __________________________________________________________ 124 125 Status of this Document 126 127 This is a released specification. Other documents may supersede 128 or augment this specification. A list of current Linux Standard 129 Base (LSB) specifications is available at 130 http://refspecs.linuxfoundation.org. 131 132 If you wish to make comments regarding this document in a 133 manner that is tracked by the LSB project, please submit them 134 using our public bug database at http://bugs.linuxbase.org. 135 Please enter your feedback, carefully indicating the title of 136 the section for which you are submitting feedback, and the 137 volume and version of the specification where you found the 138 problem, quoting the incorrect text if appropriate. If you are 139 suggesting a new feature, please indicate what the problem you 140 are trying to solve is. That is more important than the 141 solution, in fact. 142 143 If you do not have or wish to create a bug database account 144 then you can also e-mail feedback to 145 (subscribe, archives), 146 and arrangements will be made to transpose the comments to our 147 public bug database. 148 __________________________________________________________ 149 150 Introduction 151 152 The LSB defines a binary interface for application programs 153 that are compiled and packaged for LSB-conforming 154 implementations on many different hardware architectures. A 155 binary specification must include information specific to the 156 computer processor architecture for which it is intended. To 157 avoid the complexity of conditional descriptions, the 158 specification has instead been divided into generic parts which 159 are augmented by one of several architecture-specific parts, 160 depending on the target processor architecture; the generic 161 part will indicate when reference must be made to the 162 architecture part, and vice versa. 163 164 This document should be used in conjunction with the documents 165 it references. This document enumerates the system components 166 it includes, but descriptions of those components may be 167 included entirely or partly in this document, partly in other 168 documents, or entirely in other reference documents. For 169 example, the section that describes system service routines 170 includes a list of the system routines supported in this 171 interface, formal declarations of the data structures they use 172 that are visible to applications, and a pointer to the 173 underlying referenced specification for information about the 174 syntax and semantics of each call. Only those routines not 175 described in standards referenced by this document, or 176 extensions to those standards, are described in the detail. 177 Information referenced in this way is as much a part of this 178 document as is the information explicitly included here. 179 180 The specification carries a version number of either the form 181 x.y or x.y.z. This version number carries the following 182 meaning: 183 184 1. The first number (x) is the major version number. Versions 185 sharing the same major version number shall be compatible 186 in a backwards direction; that is, a newer version shall be 187 compatible with an older version. Any deletion of a library 188 results in a new major version number. Interfaces marked as 189 deprecated may be removed from the specification at a major 190 version change. 191 2. The second number (y) is the minor version number. 192 Libraries and individual interfaces may be added, but not 193 removed. Interfaces may be marked as deprecated at a minor 194 version change. Other minor changes may be permitted at the 195 discretion of the LSB workgroup. 196 3. The third number (z), if present, is the editorial level. 197 Only editorial changes should be included in such versions. 198 199 Since this specification is a descriptive Application Binary 200 Interface, and not a source level API specification, it is not 201 possible to make a guarantee of 100% backward compatibility 202 between major releases. However, it is the intent that those 203 parts of the binary interface that are visible in the source 204 level API will remain backward compatible from version to 205 version, except where a feature marked as "Deprecated" in one 206 release may be removed from a future release. Implementors are 207 strongly encouraged to make use of symbol versioning to permit 208 simultaneous support of applications conforming to different 209 releases of this specification. 210 211 LSB is a trademark of the Linux Foundation. Developers of 212 applications or implementations interested in using the 213 trademark should see the Linux Foundation Certification Policy 214 for details. 215 216 I. Introductory Elements 217 218 Table of Contents 219 1. Scope 220 2. Normative References 221 3. Requirements 222 4. Terms and Definitions 223 5. Documentation Conventions 224 __________________________________________________________ 225 226 Chapter 1. Scope 227 228 The LSB Languages specification defines components for runtime 229 languages which are found on an LSB conforming system. 230 __________________________________________________________ 231 232 Chapter 2. Normative References 233 234 The specifications listed below are referenced in whole or in 235 part by the LSB Languages specification. Such references may be 236 normative or informative; a reference to specification shall 237 only be considered normative if it is explicitly cited as such. 238 The LSB Languages specification may make normative references 239 to a portion of these specifications (that is, to define a 240 specific function or group of functions); in such cases, only 241 the explicitly referenced portion of the specification is to be 242 considered normative. 243 244 Table 2-1. Informative References 245 Name Title URL 246 Perl Core Modules Perl 5.8.8 Core Modules 247 http://perldoc.perl.org/5.8.8/index-modules-A.html 248 Perl Functions Perl 5.8.8 Functions 249 http://perldoc.perl.org/5.8.8/perlfunc.html 250 Perl Language Reference Perl 5.8.8 Language Reference 251 http://perldoc.perl.org/5.8.8/index-language.html 252 Perl Manual Perl 5.8.8 Manual Page 253 http://perldoc.perl.org/5.8.8/perlrun.html 254 Perl Operators Perl 5.8.8 Operators and Precedence 255 http://perldoc.perl.org/5.8.8/perlop.html 256 Perl Syntax Perl 5.8.8 Syntax 257 http://perldoc.perl.org/5.8.8/perlsyn.html 258 Python Library Reference Python Library Reference Release 2.4.2 259 http://www.python.org/doc/2.4.2/lib/lib.html 260 Python Reference Manual Python Reference Manual Release 2.4.2 261 http://www.python.org/doc/2.4.2/ref/ref.html 262 __________________________________________________________ 263 264 Chapter 3. Requirements 265 266 This specification describes runtime language interpreters 267 which shall be found in specified locations. It also defines a 268 number of runtime modules which shall be in an 269 implementation-defined directory which the interpreters shall 270 search by default. 271 __________________________________________________________ 272 273 Chapter 4. Terms and Definitions 274 275 For the purposes of this document, the terms given in ISO/IEC 276 Directives, Part 2, Annex H and the following apply. 277 278 archLSB 279 Some LSB specification documents have both a generic, 280 architecture-neutral part and an architecture-specific 281 part. The latter describes elements whose definitions 282 may be unique to a particular processor architecture. 283 The term archLSB may be used in the generic part to 284 refer to the corresponding section of the 285 architecture-specific part. 286 287 Binary Standard, ABI 288 The total set of interfaces that are available to be 289 used in the compiled binary code of a conforming 290 application, including the run-time details such as 291 calling conventions, binary format, C++ name mangling, 292 etc. 293 294 Implementation-defined 295 Describes a value or behavior that is not defined by 296 this document but is selected by an implementor. The 297 value or behavior may vary among implementations that 298 conform to this document. An application should not rely 299 on the existence of the value or behavior. An 300 application that relies on such a value or behavior 301 cannot be assured to be portable across conforming 302 implementations. The implementor shall document such a 303 value or behavior so that it can be used correctly by an 304 application. 305 306 Shell Script 307 A file that is read by an interpreter (e.g., awk). The 308 first line of the shell script includes a reference to 309 its interpreter binary. 310 311 Source Standard, API 312 The total set of interfaces that are available to be 313 used in the source code of a conforming application. Due 314 to translations, the Binary Standard and the Source 315 Standard may contain some different interfaces. 316 317 Undefined 318 Describes the nature of a value or behavior not defined 319 by this document which results from use of an invalid 320 program construct or invalid data input. The value or 321 behavior may vary among implementations that conform to 322 this document. An application should not rely on the 323 existence or validity of the value or behavior. An 324 application that relies on any particular value or 325 behavior cannot be assured to be portable across 326 conforming implementations. 327 328 Unspecified 329 Describes the nature of a value or behavior not 330 specified by this document which results from use of a 331 valid program construct or valid data input. The value 332 or behavior may vary among implementations that conform 333 to this document. An application should not rely on the 334 existence or validity of the value or behavior. An 335 application that relies on any particular value or 336 behavior cannot be assured to be portable across 337 conforming implementations. 338 339 In addition, for the portions of this specification which build 340 on IEEE Std 1003.1-2001, the definitions given in IEEE Std 341 1003.1-2001, Base Definitions, Chapter 3 apply. 342 __________________________________________________________ 343 344 Chapter 5. Documentation Conventions 345 346 Throughout this document, the following typographic conventions 347 are used: 348 349 function() 350 351 the name of a function 352 command 353 354 the name of a command or utility 355 CONSTANT 356 357 a constant value 358 parameter 359 360 a parameter 361 variable 362 363 a variable 364 365 Throughout this specification, several tables of interfaces are 366 presented. Each entry in these tables has the following format: 367 368 name 369 370 the name of the interface 371 (symver) 372 373 An optional symbol version identifier, if required. 374 [refno] 375 376 A reference number indexing the table of referenced 377 specifications that follows this table. 378 379 For example, 380 381 forkpty(GLIBC_2.0) [SUSv3] 382 383 refers to the interface named forkpty() with symbol version 384 GLIBC_2.0 that is defined in the SUSv3 reference. 385 386 Note: For symbols with versions which differ between 387 architectures, the symbol versions are defined in the 388 architecture specific parts of ISO/IEC 23360 only. 389 390 II. Python Interpreter 391 392 Table of Contents 393 6. Python Interpreter 394 395 6.1. Introduction 396 6.2. Python Interpreter Location 397 6.3. Python Interpreter Version 398 6.4. Operators and Functions 399 6.5. Python Modules 400 6.6. Python Interpreter Command 401 402 PYTHON -- an interpreted, interactive, 403 object-oriented programming language 404 __________________________________________________________ 405 406 Chapter 6. Python Interpreter 407 408 6.1. Introduction 409 410 The Python intrepreter API is described in the Python Library 411 Reference, with the following requirements for an LSB 412 conforming runtime. 413 __________________________________________________________ 414 415 6.2. Python Interpreter Location 416 417 The Python interpreter binary, or a link to the binary, shall 418 exist at /usr/bin/python. 419 __________________________________________________________ 420 421 6.3. Python Interpreter Version 422 423 The default installed Python version shall be 2.4.2 or greater. 424 __________________________________________________________ 425 426 6.4. Operators and Functions 427 428 Core Python operators, subroutines, and built-in functions 429 shall be present and shall operate as defined in Python 430 Reference Manual. 431 __________________________________________________________ 432 433 6.5. Python Modules 434 435 An LSB conforming implementation shall provide the Python 436 modules as described in Table 6-1 with at least the behavior 437 described as mandatory in the referenced underlying 438 specification. Some Python modules may be marked as deprecated, 439 and applications should avoid using these as they may be 440 withdrawn in future releases of this specification. 441 442 Table 6-1. Python Modules 443 array [1] csv [1] imp [1] posix [1] sys [1] 444 binascii [1] datetime [1] itertools [1] pwd [1] syslog [1] 445 bisect [1] errno [1] locale [1] random [1] termios [1] 446 cPickle [1] exceptions [1] marshal [1] re [1] thread [1] 447 cStringIO [1] fcntl [1] mmap [1] resource [1] time [1] 448 cmath [1] gc [1] operator [1] select [1] unicodedata [1] 449 codecs [1] grp [1] os [1] signal [1] weakref [1] 450 collections [1] heapq [1] ossaudiodev [1] socket [1] zipimport 451 [1] 452 crypt [1] hotshot [1] parser [1] string [1] zlib [1] 453 454 Referenced Specification(s) 455 456 [1]. Python Reference Manual 457 __________________________________________________________ 458 459 6.6. Python Interpreter Command 460 461 Table of Contents 462 PYTHON -- an interpreted, interactive, object-oriented 463 programming language 464 465 This section contains a description of the python command. 466 467 PYTHON 468 469 Name 470 471 python -- an interpreted, interactive, object-oriented 472 programming language 473 474 Synopsis 475 476 python [-d ] [-E ] [-h ] [-i ] [ -m module-name ] [-O ] 477 [ -Q argument ] [-S ] [-t ] [-u ] 478 [-v ] [-V ] [ -W argument ] [-x ] 479 [ -c command | script | - ] [arguments] 480 481 DESCRIPTION 482 483 Python is an interpreted, interactive, object-oriented 484 programming language that combines remarkable power with very 485 clear syntax. For an introduction to programming in Python you 486 are referred to the Python Tutorial. The Python Library 487 Reference documents built-in and standard types, constants, 488 functions and modules. Finally, the Python Reference Manual 489 describes the syntax and semantics of the core language in 490 (perhaps too) much detail. (These documents may be located via 491 the INTERNET RESOURCES below; they may be installed on your 492 system as well.) 493 494 Python's basic power can be extended with your own modules 495 written in C or C++. On most systems such modules may be 496 dynamically loaded. Python is also adaptable as an extension 497 language for existing applications. See the internal 498 documentation for hints. 499 500 Documentation for installed Python modules and packages can be 501 viewed by running the pydoc program. 502 503 COMMAND LINE OPTIONS 504 505 -c command 506 507 Specify the command to execute (see next section). This 508 terminates the option list (following options are passed as 509 arguments to the command). 510 -d 511 512 Turn on parser debugging output (for wizards only, depending on 513 compilation options). 514 -E 515 516 Ignore environment variables like PYTHONPATH and PYTHONHOME 517 that modify the behavior of the interpreter. 518 -h 519 520 Prints the usage for the interpreter executable and exits. 521 -i 522 523 When a script is passed as first argument or the -c option is 524 used, enter interactive mode after executing the script or the 525 command. It does not read the $PYTHONSTARTUP file. This can be 526 useful to inspect global variables or a stack trace when a 527 script raises an exception. 528 -m module-name 529 530 Searches sys.path for the named module and runs the 531 corresponding .py file as a script. 532 -O 533 534 Turn on basic optimizations. This changes the filename 535 extension for compiled (bytecode) files from .pyc to .pyo. 536 Given twice, causes docstrings to be discarded. 537 -Q argument 538 539 Division control; see PEP 238. The argument must be one of 540 "old" (the default, int/int and long/long return an int or 541 long), "new" (new division semantics, i.e. int/int and 542 long/long returns a float), "warn" (old division semantics with 543 a warning for int/int and long/long), or "warnall" (old 544 division semantics with a warning for all use of the division 545 operator). For a use of "warnall", see the 546 Tools/scripts/fixdiv.py script. 547 -S 548 549 Disable the import of the module site and the site-dependent 550 manipulations of sys.path that it entails. 551 -t 552 553 Issue a warning when a source file mixes tabs and spaces for 554 indentation in a way that makes it depend on the worth of a tab 555 expressed in spaces. Issue an error when the option is given 556 twice. 557 -u 558 559 Force stdin, stdout and stderr to be totally unbuffered. On 560 systems where it matters, also put stdin, stdout and stderr in 561 binary mode. Note that there is internal buffering in 562 xreadlines(), readlines() and file-object iterators ("for line 563 in sys.stdin") which is not influenced by this option. To work 564 around this, you will want to use "sys.stdin.readline()" inside 565 a "while 1:" loop. 566 -v 567 568 Print a message each time a module is initialized, showing the 569 place (filename or built-in module) from which it is loaded. 570 When given twice, print a message for each file that is checked 571 for when searching for a module. Also provides information on 572 module cleanup at exit. 573 -V 574 575 Prints the Python version number of the executable and exits. 576 -W argument 577 578 Warning control. Python sometimes prints warning message to 579 sys.stderr. A typical warning message has the following form: 580 file:line: category: message. By default, each warning is 581 printed once for each source line where it occurs. This option 582 controls how often warnings are printed. Multiple -W options 583 may be given; when a warning matches more than one option, the 584 action for the last matching option is performed. Invalid -W 585 options are ignored (a warning message is printed about invalid 586 options when the first warning is issued). Warnings can also be 587 controlled from within a Python program using the warnings 588 module. 589 590 The simplest form of argument is one of the following action 591 strings (or a unique abbreviation): ignore to ignore all 592 warnings; default to explicitly request the default behavior 593 (printing each warning once per source line); all to print a 594 warning each time it occurs (this may generate many messages if 595 a warning is triggered repeatedly for the same source line, 596 such as inside a loop); module to print each warning only only 597 the first time it occurs in each module; once to print each 598 warning only the first time it occurs in the program; or error 599 to raise an exception instead of printing a warning message. 600 601 The full form of argument is 602 action:message:category:module:line. Here, action is as 603 explained above but only applies to messages that match the 604 remaining fields. Empty fields match all values; trailing empty 605 fields may be omitted. The message field matches the start of 606 the warning message printed; this match is case-insensitive. 607 The category field matches the warning category. This must be a 608 class name; the match test whether the actual warning category 609 of the message is a subclass of the specified warning category. 610 The full class name must be given. The module field matches the 611 (fully-qualified) module name; this match is case-sensitive. 612 The line field matches the line number, where zero matches all 613 line numbers and is thus equivalent to an omitted line number. 614 -x 615 616 Skip the first line of the source. This is intended for a DOS 617 specific hack only. Warning: the line numbers in error messages 618 will be off by one! 619 620 INTERPRETER INTERFACE 621 622 The interpreter interface resembles that of the UNIX shell: 623 when called with standard input connected to a tty device, it 624 prompts for commands and executes them until an EOF is read; 625 when called with a file name argument or with a file as 626 standard input, it reads and executes a script from that file; 627 when called with -c command, it executes the Python 628 statement(s) given as command. Here command may contain 629 multiple statements separated by newlines. Leading whitespace 630 is significant in Python statements! In non-interactive mode, 631 the entire input is parsed before it is executed. 632 633 If available, the script name and additional arguments 634 thereafter are passed to the script in the Python variable 635 sys.argv , which is a list of strings (you must first import 636 sys to be able to access it). If no script name is given, 637 sys.argv[0] is an empty string; if -c is used, sys.argv[0] 638 contains the string '-c'. Note that options interpreted by the 639 Python interpreter itself are not placed in sys.argv. 640 641 In interactive mode, the primary prompt is >>>; the second 642 prompt (which appears when a command is not complete) is .... 643 The prompts can be changed by assignment to sys.ps1 or sys.ps2. 644 The interpreter quits when it reads an EOF at a prompt. When an 645 unhandled exception occurs, a stack trace is printed and 646 control returns to the primary prompt; in non-interactive mode, 647 the interpreter exits after printing the stack trace. The 648 interrupt signal raises the KeyboardInterrupt exception; other 649 UNIX signals are not caught (except that SIGPIPE is sometimes 650 ignored, in favor of the IOError exception). Error messages are 651 written to stderr. 652 653 FILES AND DIRECTORIES 654 655 These are subject to difference depending on local installation 656 conventions; ${prefix} and ${exec_prefix} are 657 installation-dependent and should be interpreted as for GNU 658 software; they may be the same. The default for both is 659 /usr/local. 660 661 ${exec_prefix}/bin/python 662 Recommended location of the interpreter. 663 664 ${prefix}/lib/python 665 ${exec_prefix}/lib/python 666 667 Recommended locations of the directories containing the 668 standard modules. 669 670 ${prefix}/include/python 671 ${exec_prefix}/include/python 672 673 Recommended locations of the directories containing the 674 include files needed for developing Python extensions and 675 embedding the interpreter. 676 677 ~/.pythonrc.py 678 679 User-specific initialization file loaded by the user module; 680 not used by default or by most applications. 681 682 ENVIRONMENT VARIABLES 683 684 PYTHONHOME 685 686 Change the location of the standard Python libraries. By 687 default, the libraries are searched in 688 ${prefix}/lib/python and 689 ${exec_prefix}/lib/python, where ${prefix} and 690 ${exec_prefix} are installation-dependent directories, both 691 defaulting to /usr/local. When $PYTHONHOME is set to a single 692 directory, its value replaces both ${prefix} and 693 ${exec_prefix}. To specify different values for these, set 694 $PYTHONHOME to ${prefix}:${exec_prefix}. 695 PYTHONPATH 696 697 Augments the default search path for module files. The format 698 is the same as the shell's $PATH: one or more directory 699 pathnames separated by colons. Non-existent directories are 700 silently ignored. The default search path is installation 701 dependent, but generally begins with 702 ${prefix}/lib/python (see PYTHONHOME above). The 703 default search path is always appended to $PYTHONPATH. If a 704 script argument is given, the directory containing the script 705 is inserted in the path in front of $PYTHONPATH. The search 706 path can be manipulated from within a Python program as the 707 variable sys.path . 708 PYTHONSTARTUP 709 710 If this is the name of a readable file, the Python commands in 711 that file are executed before the first prompt is displayed in 712 interactive mode. The file is executed in the same name space 713 where interactive commands are executed so that objects defined 714 or imported in it can be used without qualification in the 715 interactive session. You can also change the prompts sys.ps1 716 and sys.ps2 in this file. 717 PYTHONY2K 718 719 Set this to a non-empty string to cause the time module to 720 require dates specified as strings to include 4-digit years, 721 otherwise 2-digit years are converted based on rules described 722 in the time module documentation. 723 PYTHONOPTIMIZE 724 725 If this is set to a non-empty string it is equivalent to 726 specifying the -O option. If set to an integer, it is 727 equivalent to specifying -O multiple times. 728 PYTHONDEBUG 729 730 If this is set to a non-empty string it is equivalent to 731 specifying the -d option. If set to an integer, it is 732 equivalent to specifying -d multiple times. 733 PYTHONINSPECT 734 735 If this is set to a non-empty string it is equivalent to 736 specifying the -i option. 737 PYTHONUNBUFFERED 738 739 If this is set to a non-empty string it is equivalent to 740 specifying the -u option. 741 PYTHONVERBOSE 742 743 If this is set to a non-empty string it is equivalent to 744 specifying the -v option. If set to an integer, it is 745 equivalent to specifying -v multiple times. 746 747 AUTHOR 748 749 The Python Software Foundation: http://www.python.org/psf 750 751 INTERNET RESOURCES 752 753 Main website: http://www.python.org/ Documentation: 754 http://docs.python.org/ Community website: 755 http://starship.python.net/ Developer resources: 756 http://www.python.org/dev/ FTP: 757 ftp://ftp.python.org/pub/python/ Module repository: 758 http://www.vex.net/parnassus/ Newsgroups: comp.lang.python, 759 comp.lang.python.announce 760 761 LICENSING 762 763 Python is distributed under an Open Source license. See the 764 file "LICENSE" in the Python source distribution for 765 information on terms & conditions for accessing and otherwise 766 using Python and for a DISCLAIMER OF ALL WARRANTIES. 767 768 III. Perl Interpreter 769 770 Table of Contents 771 7. Perl Interpreter 772 773 7.1. Introduction 774 7.2. Perl Interpreter Location 775 7.3. Perl Interpreter Version 776 7.4. Perl Operators and Functions 777 7.5. Perl Modules 778 7.6. Perl Interpreter Command 779 __________________________________________________________ 780 781 Chapter 7. Perl Interpreter 782 783 7.1. Introduction 784 785 The Perl intrepreter API is described in the Perl Language 786 Reference, with the following requirements for an LSB 787 conforming runtime. 788 __________________________________________________________ 789 790 7.2. Perl Interpreter Location 791 792 The Perl interpreter binary, or a link to the binary, shall 793 exist at /usr/bin/perl. 794 __________________________________________________________ 795 796 7.3. Perl Interpreter Version 797 798 The default installed Perl version shall be 5.8.8 or greater. 799 __________________________________________________________ 800 801 7.4. Perl Operators and Functions 802 803 Core Perl operators, subroutines, and built-in functions shall 804 be present and shall operate as defined in Perl Syntax, Perl 805 Operators and Perl Functions. 806 __________________________________________________________ 807 808 7.5. Perl Modules 809 810 An LSB conforming implementation shall provide the Perl modules 811 as described in Table 7-1 with at least the behavior described 812 as mandatory in the referenced underlying specification. Some 813 Perl modules may be marked as deprecated, and applications 814 should avoid using these as they may be withdrawn in future 815 releases of this specification. 816 817 Table 7-1. Perl Modules 818 AnyDBM_File [1] Encode::Guess [1] I18N::LangTags [1] 819 Net::netent [1] Text::Abbrev [1] 820 Attribute::Handlers [1] Encode::JP [1] I18N::LangTags::Detect 821 [1] Net::protoent [1] Text::Balanced [1] 822 AutoLoader [1] Encode::JP::H2Z [1] I18N::LangTags::List [1] 823 Net::servent [1] Text::ParseWords [1] 824 AutoSplit [1] Encode::JP::JIS7 [1] I18N::Langinfo [1] O [1] 825 Text::Soundex [1] 826 B::Concise [1] Encode::KR [1] IO [1] Opcode [1] Text::Tabs [1] 827 B::Debug [1] Encode::KR::2022_KR [1] IO::Dir [1] POSIX [1] 828 Text::Wrap [1] 829 B::Deparse [1] Encode::MIME::Header [1] IO::File [1] PerlIO [1] 830 Tie::Array [1] 831 B::Lint [1] Encode::Symbol [1] IO::Handle [1] PerlIO::encoding 832 [1] Tie::File [1] 833 B::Showlex [1] Encode::TW [1] IO::Pipe [1] PerlIO::scalar [1] 834 Tie::Handle [1] 835 B::Terse [1] Encode::Unicode [1] IO::Poll [1] PerlIO::via [1] 836 Tie::Hash [1] 837 B::Xref [1] Encode::Unicode::UTF7 [1] IO::Seekable [1] 838 PerlIO::via::QuotedPrint [1] Tie::Memoize [1] 839 Benchmark [1] English [1] IO::Select [1] Pod::Checker [1] 840 Tie::RefHash [1] 841 CGI [1] Env [1] IO::Socket [1] Pod::Find [1] Tie::Scalar [1] 842 CGI::Apache [1] Exporter [1] IO::Socket::INET [1] 843 Pod::Functions [1] Tie::SubstrHash [1] 844 CGI::Carp [1] Exporter::Heavy [1] IO::Socket::UNIX [1] 845 Pod::Html [1] Time::HiRes [1] 846 CGI::Cookie [1] ExtUtils::Command [1] IPC::Msg [1] 847 Pod::InputObjects [1] Time::Local [1] 848 CGI::Pretty [1] ExtUtils::Command::MM [1] IPC::Open2 [1] 849 Pod::LaTeX [1] Time::gmtime [1] 850 CGI::Push [1] ExtUtils::Install [1] IPC::Open3 [1] Pod::Man [1] 851 Time::localtime [1] 852 CGI::Switch [1] [a] ExtUtils::Installed [1] IPC::Semaphore [1] 853 Pod::ParseLink [1] Time::tm [1] 854 CGI::Util [1] ExtUtils::Liblist [1] IPC::SysV [1] 855 Pod::ParseUtils [1] Unicode::Collate [1] 856 CPAN [1] ExtUtils::Liblist::Kid [1] List::Util [1] Pod::Parser 857 [1] Unicode::Normalize [1] 858 CPAN::FirstTime [1] ExtUtils::MM_Unix [1] Locale::Constants [1] 859 Pod::Perldoc::ToChecker [1] Unicode::UCD [1] 860 CPAN::Nox [1] ExtUtils::MY [1] Locale::Country [1] 861 Pod::Perldoc::ToMan [1] User::grent [1] 862 Carp [1] ExtUtils::MakeMaker [1] Locale::Currency [1] 863 Pod::Perldoc::ToNroff [1] User::pwent [1] 864 Carp::Heavy [1] ExtUtils::MakeMaker::Config [1] 865 Locale::Language [1] Pod::Perldoc::ToPod [1] attributes [1] 866 Class::ISA [1] [a] ExtUtils::Manifest [1] Locale::Maketext [1] 867 Pod::Perldoc::ToText [1] autouse [1] 868 Class::Struct [1] ExtUtils::Mkbootstrap [1] Locale::Script [1] 869 Pod::PlainText [1] base [1] 870 Cwd [1] ExtUtils::Mksymlists [1] MIME::Base64 [1] Pod::Plainer 871 [1] [a] bigint [1] 872 DB [1] ExtUtils::Packlist [1] MIME::QuotedPrint [1] Pod::Select 873 [1] bignum [1] 874 DBM_Filter [1] ExtUtils::testlib [1] Math::BigFloat [1] 875 Pod::Text [1] bigrat [1] 876 DBM_Filter::encode [1] Fatal [1] Math::BigInt [1] 877 Pod::Text::Color [1] blib [1] 878 DBM_Filter::int32 [1] Fcntl [1] Math::BigInt::Calc [1] 879 Pod::Text::Overstrike [1] bytes [1] 880 DBM_Filter::null [1] File::Basename [1] Math::BigInt::CalcEmu 881 [1] Pod::Text::Termcap [1] charnames [1] 882 DBM_Filter::utf8 [1] File::CheckTree [1] Math::BigRat [1] 883 Pod::Usage [1] constant [1] 884 Data::Dumper [1] File::Compare [1] Math::Complex [1] SDBM_File 885 [1] diagnostics [1] 886 Devel::DProf [1] [a] File::Copy [1] Math::Trig [1] Safe [1] 887 fields [1] 888 Devel::PPPort [1] File::DosGlob [1] Memoize [1] Scalar::Util 889 [1] filetest [1] 890 Devel::Peek [1] File::Find [1] Memoize::AnyDBM_File [1] 891 Search::Dict [1] if [1] 892 Devel::SelfStubber [1] File::Glob [1] Memoize::Expire [1] 893 SelectSaver [1] integer [1] 894 Digest [1] File::Path [1] Memoize::ExpireFile [1] SelfLoader 895 [1] less [1] 896 Digest::MD5 [1] File::Spec [1] Memoize::ExpireTest [1] Shell 897 [1] [a] locale [1] 898 Digest::base [1] File::Spec::Functions [1] Memoize::SDBM_File 899 [1] Socket [1] open [1] 900 Digest::file [1] File::Spec::Unix [1] Memoize::Storable [1] 901 Storable [1] overload [1] 902 DirHandle [1] File::Temp [1] NEXT [1] Sys::Hostname [1] re [1] 903 Dumpvalue [1] File::stat [1] Net::Cmd [1] Sys::Syslog [1] 904 sigtrap [1] 905 Encode [1] FileCache [1] Net::Config [1] Term::ANSIColor [1] 906 sort [1] 907 Encode::Alias [1] FileHandle [1] Net::Domain [1] Term::Complete 908 [1] strict [1] 909 Encode::Byte [1] Filter::Simple [1] Net::FTP [1] Term::ReadLine 910 [1] subs [1] 911 Encode::CJKConstants [1] Filter::Util::Call [1] Net::NNTP [1] 912 Test::Builder [1] utf8 [1] 913 Encode::CN [1] FindBin [1] Net::Netrc [1] Test::Builder::Module 914 [1] warnings [1] 915 Encode::CN::HZ [1] GDBM_File [1] Net::POP3 [1] 916 Test::Builder::Tester [1] warnings::register [1] 917 Encode::Config [1] Getopt::Long [1] Net::Ping [1] 918 Test::Builder::Tester::Color [1] 919 Encode::EBCDIC [1] Getopt::Std [1] Net::SMTP [1] Test::Harness 920 [1] 921 Encode::Encoder [1] Hash::Util [1] Net::Time [1] Test::More [1] 922 923 Encode::Encoding [1] I18N::Collate [1] Net::hostent [1] 924 Test::Simple [1] 925 Notes: 926 a. Deprecated module 927 928 Referenced Specification(s) 929 930 [1]. Perl Language Reference 931 __________________________________________________________ 932 933 7.6. Perl Interpreter Command 934 935 The perl command is described in Perl Manual. 936 __________________________________________________________ 937 938 Appendix A. GNU Free Documentation License (Informative) 939 940 This specification is published under the terms of the GNU Free 941 Documentation License, Version 1.1, March 2000 942 943 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple 944 Place, Suite 330, Boston, MA 02111-1307 USA Everyone is 945 permitted to copy and distribute verbatim copies of this 946 license document, but changing it is not allowed. 947 __________________________________________________________ 948 949 A.1. PREAMBLE 950 951 The purpose of this License is to make a manual, textbook, or 952 other written document "free" in the sense of freedom: to 953 assure everyone the effective freedom to copy and redistribute 954 it, with or without modifying it, either commercially or 955 noncommercially. Secondarily, this License preserves for the 956 author and publisher a way to get credit for their work, while 957 not being considered responsible for modifications made by 958 others. 959 960 This License is a kind of "copyleft", which means that 961 derivative works of the document must themselves be free in the 962 same sense. It complements the GNU General Public License, 963 which is a copyleft license designed for free software. 964 965 We have designed this License in order to use it for manuals 966 for free software, because free software needs free 967 documentation: a free program should come with manuals 968 providing the same freedoms that the software does. But this 969 License is not limited to software manuals; it can be used for 970 any textual work, regardless of subject matter or whether it is 971 published as a printed book. We recommend this License 972 principally for works whose purpose is instruction or 973 reference. 974 __________________________________________________________ 975 976 A.2. APPLICABILITY AND DEFINITIONS 977 978 This License applies to any manual or other work that contains 979 a notice placed by the copyright holder saying it can be 980 distributed under the terms of this License. The "Document", 981 below, refers to any such manual or work. Any member of the 982 public is a licensee, and is addressed as "you". 983 984 A "Modified Version" of the Document means any work containing 985 the Document or a portion of it, either copied verbatim, or 986 with modifications and/or translated into another language. 987 988 A "Secondary Section" is a named appendix or a front-matter 989 section of the Document that deals exclusively with the 990 relationship of the publishers or authors of the Document to 991 the Document's overall subject (or to related matters) and 992 contains nothing that could fall directly within that overall 993 subject. (For example, if the Document is in part a textbook of 994 mathematics, a Secondary Section may not explain any 995 mathematics.) The relationship could be a matter of historical 996 connection with the subject or with related matters, or of 997 legal, commercial, philosophical, ethical or political position 998 regarding them. 999 1000 The "Invariant Sections" are certain Secondary Sections whose 1001 titles are designated, as being those of Invariant Sections, in 1002 the notice that says that the Document is released under this 1003 License. 1004 1005 The "Cover Texts" are certain short passages of text that are 1006 listed, as Front-Cover Texts or Back-Cover Texts, in the notice 1007 that says that the Document is released under this License. 1008 1009 A "Transparent" copy of the Document means a machine-readable 1010 copy, represented in a format whose specification is available 1011 to the general public, whose contents can be viewed and edited 1012 directly and straightforwardly with generic text editors or 1013 (for images composed of pixels) generic paint programs or (for 1014 drawings) some widely available drawing editor, and that is 1015 suitable for input to text formatters or for automatic 1016 translation to a variety of formats suitable for input to text 1017 formatters. A copy made in an otherwise Transparent file format 1018 whose markup has been designed to thwart or discourage 1019 subsequent modification by readers is not Transparent. A copy 1020 that is not "Transparent" is called "Opaque". 1021 1022 Examples of suitable formats for Transparent copies include 1023 plain ASCII without markup, Texinfo input format, LaTeX input 1024 format, SGML or XML using a publicly available DTD, and 1025 standard-conforming simple HTML designed for human 1026 modification. Opaque formats include PostScript, PDF, 1027 proprietary formats that can be read and edited only by 1028 proprietary word processors, SGML or XML for which the DTD 1029 and/or processing tools are not generally available, and the 1030 machine-generated HTML produced by some word processors for 1031 output purposes only. 1032 1033 The "Title Page" means, for a printed book, the title page 1034 itself, plus such following pages as are needed to hold, 1035 legibly, the material this License requires to appear in the 1036 title page. For works in formats which do not have any title 1037 page as such, "Title Page" means the text near the most 1038 prominent appearance of the work's title, preceding the 1039 beginning of the body of the text. 1040 __________________________________________________________ 1041 1042 A.3. VERBATIM COPYING 1043 1044 You may copy and distribute the Document in any medium, either 1045 commercially or noncommercially, provided that this License, 1046 the copyright notices, and the license notice saying this 1047 License applies to the Document are reproduced in all copies, 1048 and that you add no other conditions whatsoever to those of 1049 this License. You may not use technical measures to obstruct or 1050 control the reading or further copying of the copies you make 1051 or distribute. However, you may accept compensation in exchange 1052 for copies. If you distribute a large enough number of copies 1053 you must also follow the conditions in section 3. 1054 1055 You may also lend copies, under the same conditions stated 1056 above, and you may publicly display copies. 1057 __________________________________________________________ 1058 1059 A.4. COPYING IN QUANTITY 1060 1061 If you publish printed copies of the Document numbering more 1062 than 100, and the Document's license notice requires Cover 1063 Texts, you must enclose the copies in covers that carry, 1064 clearly and legibly, all these Cover Texts: Front-Cover Texts 1065 on the front cover, and Back-Cover Texts on the back cover. 1066 Both covers must also clearly and legibly identify you as the 1067 publisher of these copies. The front cover must present the 1068 full title with all words of the title equally prominent and 1069 visible. You may add other material on the covers in addition. 1070 Copying with changes limited to the covers, as long as they 1071 preserve the title of the Document and satisfy these 1072 conditions, can be treated as verbatim copying in other 1073 respects. 1074 1075 If the required texts for either cover are too voluminous to 1076 fit legibly, you should put the first ones listed (as many as 1077 fit reasonably) on the actual cover, and continue the rest onto 1078 adjacent pages. 1079 1080 If you publish or distribute Opaque copies of the Document 1081 numbering more than 100, you must either include a 1082 machine-readable Transparent copy along with each Opaque copy, 1083 or state in or with each Opaque copy a publicly-accessible 1084 computer-network location containing a complete Transparent 1085 copy of the Document, free of added material, which the general 1086 network-using public has access to download anonymously at no 1087 charge using public-standard network protocols. If you use the 1088 latter option, you must take reasonably prudent steps, when you 1089 begin distribution of Opaque copies in quantity, to ensure that 1090 this Transparent copy will remain thus accessible at the stated 1091 location until at least one year after the last time you 1092 distribute an Opaque copy (directly or through your agents or 1093 retailers) of that edition to the public. 1094 1095 It is requested, but not required, that you contact the authors 1096 of the Document well before redistributing any large number of 1097 copies, to give them a chance to provide you with an updated 1098 version of the Document. 1099 __________________________________________________________ 1100 1101 A.5. MODIFICATIONS 1102 1103 You may copy and distribute a Modified Version of the Document 1104 under the conditions of sections 2 and 3 above, provided that 1105 you release the Modified Version under precisely this License, 1106 with the Modified Version filling the role of the Document, 1107 thus licensing distribution and modification of the Modified 1108 Version to whoever possesses a copy of it. In addition, you 1109 must do these things in the Modified Version: 1110 1111 A. Use in the Title Page (and on the covers, if any) a title 1112 distinct from that of the Document, and from those of 1113 previous versions (which should, if there were any, be 1114 listed in the History section of the Document). You may use 1115 the same title as a previous version if the original 1116 publisher of that version gives permission. 1117 B. List on the Title Page, as authors, one or more persons or 1118 entities responsible for authorship of the modifications in 1119 the Modified Version, together with at least five of the 1120 principal authors of the Document (all of its principal 1121 authors, if it has less than five). 1122 C. State on the Title page the name of the publisher of the 1123 Modified Version, as the publisher. 1124 D. Preserve all the copyright notices of the Document. 1125 E. Add an appropriate copyright notice for your modifications 1126 adjacent to the other copyright notices. 1127 F. Include, immediately after the copyright notices, a license 1128 notice giving the public permission to use the Modified 1129 Version under the terms of this License, in the form shown 1130 in the Addendum below. 1131 G. Preserve in that license notice the full lists of Invariant 1132 Sections and required Cover Texts given in the Document's 1133 license notice. 1134 H. Include an unaltered copy of this License. 1135 I. Preserve the section entitled "History", and its title, and 1136 add to it an item stating at least the title, year, new 1137 authors, and publisher of the Modified Version as given on 1138 the Title Page. If there is no section entitled "History" 1139 in the Document, create one stating the title, year, 1140 authors, and publisher of the Document as given on its 1141 Title Page, then add an item describing the Modified 1142 Version as stated in the previous sentence. 1143 J. Preserve the network location, if any, given in the 1144 Document for public access to a Transparent copy of the 1145 Document, and likewise the network locations given in the 1146 Document for previous versions it was based on. These may 1147 be placed in the "History" section. You may omit a network 1148 location for a work that was published at least four years 1149 before the Document itself, or if the original publisher of 1150 the version it refers to gives permission. 1151 K. In any section entitled "Acknowledgements" or 1152 "Dedications", preserve the section's title, and preserve 1153 in the section all the substance and tone of each of the 1154 contributor acknowledgements and/or dedications given 1155 therein. 1156 L. Preserve all the Invariant Sections of the Document, 1157 unaltered in their text and in their titles. Section 1158 numbers or the equivalent are not considered part of the 1159 section titles. 1160 M. Delete any section entitled "Endorsements". Such a section 1161 may not be included in the Modified Version. 1162 N. Do not retitle any existing section as "Endorsements" or to 1163 conflict in title with any Invariant Section. 1164 1165 If the Modified Version includes new front-matter sections or 1166 appendices that qualify as Secondary Sections and contain no 1167 material copied from the Document, you may at your option 1168 designate some or all of these sections as invariant. To do 1169 this, add their titles to the list of Invariant Sections in the 1170 Modified Version's license notice. These titles must be 1171 distinct from any other section titles. 1172 1173 You may add a section entitled "Endorsements", provided it 1174 contains nothing but endorsements of your Modified Version by 1175 various parties--for example, statements of peer review or that 1176 the text has been approved by an organization as the 1177 authoritative definition of a standard. 1178 1179 You may add a passage of up to five words as a Front-Cover 1180 Text, and a passage of up to 25 words as a Back-Cover Text, to 1181 the end of the list of Cover Texts in the Modified Version. 1182 Only one passage of Front-Cover Text and one of Back-Cover Text 1183 may be added by (or through arrangements made by) any one 1184 entity. If the Document already includes a cover text for the 1185 same cover, previously added by you or by arrangement made by 1186 the same entity you are acting on behalf of, you may not add 1187 another; but you may replace the old one, on explicit 1188 permission from the previous publisher that added the old one. 1189 1190 The author(s) and publisher(s) of the Document do not by this 1191 License give permission to use their names for publicity for or 1192 to assert or imply endorsement of any Modified Version. 1193 __________________________________________________________ 1194 1195 A.6. COMBINING DOCUMENTS 1196 1197 You may combine the Document with other documents released 1198 under this License, under the terms defined in section 4 above 1199 for modified versions, provided that you include in the 1200 combination all of the Invariant Sections of all of the 1201 original documents, unmodified, and list them all as Invariant 1202 Sections of your combined work in its license notice. 1203 1204 The combined work need only contain one copy of this License, 1205 and multiple identical Invariant Sections may be replaced with 1206 a single copy. If there are multiple Invariant Sections with 1207 the same name but different contents, make the title of each 1208 such section unique by adding at the end of it, in parentheses, 1209 the name of the original author or publisher of that section if 1210 known, or else a unique number. Make the same adjustment to the 1211 section titles in the list of Invariant Sections in the license 1212 notice of the combined work. 1213 1214 In the combination, you must combine any sections entitled 1215 "History" in the various original documents, forming one 1216 section entitled "History"; likewise combine any sections 1217 entitled "Acknowledgements", and any sections entitled 1218 "Dedications". You must delete all sections entitled 1219 "Endorsements." 1220 __________________________________________________________ 1221 1222 A.7. COLLECTIONS OF DOCUMENTS 1223 1224 You may make a collection consisting of the Document and other 1225 documents released under this License, and replace the 1226 individual copies of this License in the various documents with 1227 a single copy that is included in the collection, provided that 1228 you follow the rules of this License for verbatim copying of 1229 each of the documents in all other respects. 1230 1231 You may extract a single document from such a collection, and 1232 distribute it individually under this License, provided you 1233 insert a copy of this License into the extracted document, and 1234 follow this License in all other respects regarding verbatim 1235 copying of that document. 1236 __________________________________________________________ 1237 1238 A.8. AGGREGATION WITH INDEPENDENT WORKS 1239 1240 A compilation of the Document or its derivatives with other 1241 separate and independent documents or works, in or on a volume 1242 of a storage or distribution medium, does not as a whole count 1243 as a Modified Version of the Document, provided no compilation 1244 copyright is claimed for the compilation. Such a compilation is 1245 called an "aggregate", and this License does not apply to the 1246 other self-contained works thus compiled with the Document, on 1247 account of their being thus compiled, if they are not 1248 themselves derivative works of the Document. 1249 1250 If the Cover Text requirement of section 3 is applicable to 1251 these copies of the Document, then if the Document is less than 1252 one quarter of the entire aggregate, the Document's Cover Texts 1253 may be placed on covers that surround only the Document within 1254 the aggregate. Otherwise they must appear on covers around the 1255 whole aggregate. 1256 __________________________________________________________ 1257 1258 A.9. TRANSLATION 1259 1260 Translation is considered a kind of modification, so you may 1261 distribute translations of the Document under the terms of 1262 section 4. Replacing Invariant Sections with translations 1263 requires special permission from their copyright holders, but 1264 you may include translations of some or all Invariant Sections 1265 in addition to the original versions of these Invariant 1266 Sections. You may include a translation of this License 1267 provided that you also include the original English version of 1268 this License. In case of a disagreement between the translation 1269 and the original English version of this License, the original 1270 English version will prevail. 1271 __________________________________________________________ 1272 1273 A.10. TERMINATION 1274 1275 You may not copy, modify, sublicense, or distribute the 1276 Document except as expressly provided for under this License. 1277 Any other attempt to copy, modify, sublicense or distribute the 1278 Document is void, and will automatically terminate your rights 1279 under this License. However, parties who have received copies, 1280 or rights, from you under this License will not have their 1281 licenses terminated so long as such parties remain in full 1282 compliance. 1283 __________________________________________________________ 1284 1285 A.11. FUTURE REVISIONS OF THIS LICENSE 1286 1287 The Free Software Foundation may publish new, revised versions 1288 of the GNU Free Documentation License from time to time. Such 1289 new versions will be similar in spirit to the present version, 1290 but may differ in detail to address new problems or concerns. 1291 See http://www.gnu.org/copyleft/. 1292 1293 Each version of the License is given a distinguishing version 1294 number. If the Document specifies that a particular numbered 1295 version of this License "or any later version" applies to it, 1296 you have the option of following the terms and conditions 1297 either of that specified version or of any later version that 1298 has been published (not as a draft) by the Free Software 1299 Foundation. If the Document does not specify a version number 1300 of this License, you may choose any version ever published (not 1301 as a draft) by the Free Software Foundation. 1302 __________________________________________________________ 1303 1304 A.12. How to use this License for your documents 1305 1306 To use this License in a document you have written, include a 1307 copy of the License in the document and put the following 1308 copyright and license notices just after the title page: 1309 1310 Copyright (c) YEAR YOUR NAME. Permission is granted to copy, 1311 distribute and/or modify this document under the terms of 1312 the GNU Free Documentation License, Version 1.1 or any later 1313 version published by the Free Software Foundation; with the 1314 Invariant Sections being LIST THEIR TITLES, with the 1315 Front-Cover Texts being LIST, and with the Back-Cover Texts 1316 being LIST. A copy of the license is included in the section 1317 entitled "GNU Free Documentation License". 1318 1319 If you have no Invariant Sections, write "with no Invariant 1320 Sections" instead of saying which ones are invariant. If you 1321 have no Front-Cover Texts, write "no Front-Cover Texts" instead 1322 of "Front-Cover Texts being LIST"; likewise for Back-Cover 1323 Texts. 1324 1325 If your document contains nontrivial examples of program code, 1326 we recommend releasing these examples in parallel under your 1327 choice of free software license, such as the GNU General Public 1328 License, to permit their use in free software.