⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 perlrun.pod

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 POD
📖 第 1 页 / 共 4 页
字号:
locations are automatically included if they exist (this lookupbeing done at interpreter startup time.)If PERL5LIB is not defined, PERLLIB is used.  Directories are separated(like in PATH) by a colon on unixish platforms and by a semicolon onWindows (the proper path separator being given by the command C<perl-V:path_sep>).When running taint checks (either because the program was running setuidor setgid, or the B<-T> or B<-t> switch was specified), neither variableis used. The program should instead say:    use lib "/my/directory";=item PERL5OPTX<PERL5OPT>Command-line options (switches).  Switches in this variable are takenas if they were on every Perl command line.  Only the B<-[CDIMUdmtw]>switches are allowed.  When running taint checks (because the programwas running setuid or setgid, or the B<-T> switch was used), thisvariable is ignored.  If PERL5OPT begins with B<-T>, tainting will beenabled, and any subsequent options ignored.=item PERLIOX<PERLIO>A space (or colon) separated list of PerlIO layers. If perl is builtto use PerlIO system for IO (the default) these layers effect perl's IO.It is conventional to start layer names with a colon e.g. C<:perlio> toemphasise their similarity to variable "attributes". But the code that parseslayer specification strings (which is also used to decode the PERLIOenvironment variable) treats the colon as a separator.An unset or empty PERLIO is equivalent to the default set of layers foryour platform, for example C<:unix:perlio> on UNIX-like systemsand C<:unix:crlf> on Windows and other DOS-like systems.The list becomes the default for I<all> perl's IO. Consequently only built-inlayers can appear in this list, as external layers (such as :encoding()) needIO in  order to load them!. See L<"open pragma"|open> for how to add externalencodings as defaults.The layers that it makes sense to include in the PERLIO environmentvariable are briefly summarised below. For more details see L<PerlIO>.=over 8=item :bytesX<:bytes>A pseudolayer that turns I<off> the C<:utf8> flag for the layer below.Unlikely to be useful on its own in the global PERLIO environment variable.You perhaps were thinking of C<:crlf:bytes> or C<:perlio:bytes>.=item :crlfX<:crlf>A layer which does CRLF to "\n" translation distinguishing "text" and"binary" files in the manner of MS-DOS and similar operating systems.(It currently does I<not> mimic MS-DOS as far as treating of Control-Zas being an end-of-file marker.)=item :mmapX<:mmap>A layer which implements "reading" of files by using C<mmap()> tomake (whole) file appear in the process's address space, and thenusing that as PerlIO's "buffer".=item :perlioX<:perlio>This is a re-implementation of "stdio-like" buffering written as aPerlIO "layer".  As such it will call whatever layer is below it forits operations (typically C<:unix>).=item :popX<:pop>An experimental pseudolayer that removes the topmost layer.Use with the same care as is reserved for nitroglycerin.=item :rawX<:raw>A pseudolayer that manipulates other layers.  Applying the C<:raw>layer is equivalent to calling C<binmode($fh)>.  It makes the streampass each byte as-is without any translation.  In particular CRLFtranslation, and/or :utf8 intuited from locale are disabled.Unlike in the earlier versions of Perl C<:raw> is I<not>just the inverse of C<:crlf> - other layers which would affect thebinary nature of the stream are also removed or disabled.=item :stdioX<:stdio>This layer provides PerlIO interface by wrapping system's ANSI C "stdio"library calls. The layer provides both buffering and IO.Note that C<:stdio> layer does I<not> do CRLF translation even if thatis platforms normal behaviour. You will need a C<:crlf> layer above itto do that.=item :unixX<:unix>Low level layer which calls C<read>, C<write> and C<lseek> etc.=item :utf8X<:utf8>A pseudolayer that turns on a flag on the layer below to tell perlthat output should be in utf8 and that input should be regarded asalready in valid utf8 form. It does not check for validity and as suchshould be handled with caution for input. Generally C<:encoding(utf8)> isthe best option when reading UTF-8 encoded data.=item :win32X<:win32>On Win32 platforms this I<experimental> layer uses native "handle" IOrather than unix-like numeric file descriptor layer. Known to bebuggy in this release.=backOn all platforms the default set of layers should give acceptable results.For UNIX platforms that will equivalent of "unix perlio" or "stdio".Configure is setup to prefer "stdio" implementation if system's libraryprovides for fast access to the buffer, otherwise it uses the "unix perlio"implementation.On Win32 the default in this release is "unix crlf". Win32's "stdio"has a number of bugs/mis-features for perl IO which are somewhatC compiler vendor/version dependent. Using our own C<crlf> layer asthe buffer avoids those issues and makes things more uniform.The C<crlf> layer provides CRLF to/from "\n" conversion as well asbuffering.This release uses C<unix> as the bottom layer on Win32 and so still uses Ccompiler's numeric file descriptor routines. There is an experimental nativeC<win32> layer which is expected to be enhanced and should eventually bethe default under Win32.=item PERLIO_DEBUGX<PERLIO_DEBUG>If set to the name of a file or device then certain operations of PerlIOsub-system will be logged to that file (opened as append). Typical usesare UNIX:   PERLIO_DEBUG=/dev/tty perl script ...and Win32 approximate equivalent:   set PERLIO_DEBUG=CON   perl script ...This functionality is disabled for setuid scripts and for scripts runwith B<-T>.=item PERLLIBX<PERLLIB>A list of directories in which to look for Perl libraryfiles before looking in the standard library and the current directory.If PERL5LIB is defined, PERLLIB is not used.=item PERL5DBX<PERL5DB>The command used to load the debugger code.  The default is:	BEGIN { require 'perl5db.pl' }=item PERL5DB_THREADEDX<PERL5DB_THREADED>If set to a true value, indicates to the debugger that the code beingdebugged uses threads.=item PERL5SHELL (specific to the Win32 port)X<PERL5SHELL>May be set to an alternative shell that perl must use internally forexecuting "backtick" commands or system().  Default is C<cmd.exe /x/d/c>on WindowsNT and C<command.com /c> on Windows95.  The value is consideredto be space-separated.  Precede any character that needs to be protected(like a space or backslash) with a backslash.Note that Perl doesn't use COMSPEC for this purpose becauseCOMSPEC has a high degree of variability among users, leading toportability concerns.  Besides, perl can use a shell that may not befit for interactive use, and setting COMSPEC to such a shell mayinterfere with the proper functioning of other programs (which usuallylook in COMSPEC to find a shell fit for interactive use).=item PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port)X<PERL_ALLOW_NON_IFS_LSP>Set to 1 to allow the use of non-IFS compatible LSP's.Perl normally searches for an IFS-compatible LSP because this is requiredfor its emulation of Windows sockets as real filehandles.  However, this maycause problems if you have a firewall such as McAfee Guardian which requiresall applications to use its LSP which is not IFS-compatible, because clearlyPerl will normally avoid using such an LSP.Setting this environment variable to 1 means that Perl will simply use thefirst suitable LSP enumerated in the catalog, which keeps McAfee Guardianhappy (and in that particular case Perl still works too because McAfeeGuardian's LSP actually plays some other games which allow applicationsrequiring IFS compatibility to work).=item PERL_DEBUG_MSTATSX<PERL_DEBUG_MSTATS>Relevant only if perl is compiled with the malloc included with the perldistribution (that is, if C<perl -V:d_mymalloc> is 'define').If set, this causes memory statistics to be dumped after execution.  If setto an integer greater than one, also causes memory statistics to be dumpedafter compilation.=item PERL_DESTRUCT_LEVELX<PERL_DESTRUCT_LEVEL>Relevant only if your perl executable was built with B<-DDEBUGGING>,this controls the behavior of global destruction of objects and otherreferences.  See L<perlhack/PERL_DESTRUCT_LEVEL> for more information.=item PERL_DL_NONLAZYX<PERL_DL_NONLAZY>Set to one to have perl resolve B<all> undefined symbols when it loadsa dynamic library.  The default behaviour is to resolve symbols whenthey are used.  Setting this variable is useful during testing ofextensions as it ensures that you get an error on misspelled functionnames even if the test suite doesn't call it.=item PERL_ENCODINGX<PERL_ENCODING>If using the C<encoding> pragma without an explicit encoding name, thePERL_ENCODING environment variable is consulted for an encoding name.=item PERL_HASH_SEEDX<PERL_HASH_SEED>(Since Perl 5.8.1.)  Used to randomise perl's internal hash function.To emulate the pre-5.8.1 behaviour, set to an integer (zero meansexactly the same order as 5.8.0).  "Pre-5.8.1" means, among otherthings, that hash keys will always have the same ordering betweendifferent runs of perl.Most hashes return elements in the same order as Perl 5.8.0 by default.On a hash by hash basis, if pathological data is detected during a hashkey insertion, then that hash will switch to an alternative random hashseed.The default behaviour is to randomise unless the PERL_HASH_SEED is set.If perl has been compiled with C<-DUSE_HASH_SEED_EXPLICIT>, the defaultbehaviour is B<not> to randomise unless the PERL_HASH_SEED is set.If PERL_HASH_SEED is unset or set to a non-numeric string, perl usesthe pseudorandom seed supplied by the operating system and libraries.B<Please note that the hash seed is sensitive information>. Hashes arerandomized to protect against local and remote attacks against Perlcode. By manually setting a seed this protection may be partially orcompletely lost.See L<perlsec/"Algorithmic Complexity Attacks"> andL</PERL_HASH_SEED_DEBUG> for more information.=item PERL_HASH_SEED_DEBUGX<PERL_HASH_SEED_DEBUG>(Since Perl 5.8.1.)  Set to one to display (to STDERR) the value ofthe hash seed at the beginning of execution.  This, combined withL</PERL_HASH_SEED> is intended to aid in debugging nondeterministicbehavior caused by hash randomization.B<Note that the hash seed is sensitive information>: by knowing it onecan craft a denial-of-service attack against Perl code, even remotely,see L<perlsec/"Algorithmic Complexity Attacks"> for more information.B<Do not disclose the hash seed> to people who don't need to know it.See also hash_seed() of L<Hash::Util>.=item PERL_ROOT (specific to the VMS port)X<PERL_ROOT>A translation concealed rooted logical name that contains perl and thelogical device for the @INC path on VMS only.  Other logical names thataffect perl on VMS include PERLSHR, PERL_ENV_TABLES, andSYS$TIMEZONE_DIFFERENTIAL but are optional and discussed further inL<perlvms> and in F<README.vms> in the Perl source distribution.=item PERL_SIGNALSX<PERL_SIGNALS>In Perls 5.8.1 and later.  If set to C<unsafe> the pre-Perl-5.8.0signals behaviour (immediate but unsafe) is restored.  If set toC<safe> the safe (or deferred) signals are used.See L<perlipc/"Deferred Signals (Safe Signals)">.=item PERL_UNICODEX<PERL_UNICODE>Equivalent to the B<-C> command-line switch.  Note that this is nota boolean variable-- setting this to C<"1"> is not the right way to"enable Unicode" (whatever that would mean).  You can use C<"0"> to"disable Unicode", though (or alternatively unset PERL_UNICODE inyour shell before starting Perl).  See the description of the C<-C>switch for more information.=item SYS$LOGIN (specific to the VMS port)X<SYS$LOGIN>Used if chdir has no argument and HOME and LOGDIR are not set.=backPerl also has environment variables that control how Perl handles dataspecific to particular natural languages.  See L<perllocale>.Apart from these, Perl uses no other environment variables, exceptto make them available to the program being executed, and to childprocesses.  However, programs running setuid would do well to executethe following lines before doing anything else, just to keep peoplehonest:    $ENV{PATH}  = '/bin:/usr/bin';    # or whatever you need    $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL};    delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -