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