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

📄 perlcygwin.pod

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 POD
📖 第 1 页 / 共 2 页
字号:
on, just like it is in UNIX.  So CR/LF translation needs to be requested ineither the C<open()> call like this:  open(FH, ">:crlf", "out.txt");which will do conversion from LF to CR/LF on the output, or in theenvironment settings (add this to your .bashrc):  export PERLIO=crlfwhich will pull in the crlf PerlIO layer which does LF -> CRLF conversionon every output generated by perl.=item * F<.exe>The Cygwin C<stat()>, C<lstat()> and C<readlink()> functions make the F<.exe>extension transparent by looking for F<foo.exe> when you ask for F<foo>(unless a F<foo> also exists).  Cygwin does not require a F<.exe>extension, but I<gcc> adds it automatically when building a program.However, when accessing an executable as a normal file (e.g., I<cp>in a makefile) the F<.exe> is not transparent.  The I<install> includedwith Cygwin automatically appends a F<.exe> when necessary.=item * Cygwin vs. Windows process idsCygwin processes have their own pid, which is different from theunderlying windows pid.  Most posix compliant Proc functions expectthe cygwin pid, but several Win32::Process functions expect thewinpid. E.g. C<$$> is the cygwin pid of F</usr/bin/perl>, which is notthe winpid.  Use C<Cygwin::winpid_to_pid()> and C<Cygwin::winpid_to_pid()>to translate between them.=item * Cygwin vs. Windows errorsUnder Cygwin, $^E is the same as $!.  When using L<Win32 API Functions|Win32>,use C<Win32::GetLastError()> to get the last Windows error.=item * C<chown()>On WinNT C<chown()> can change a file's user and group IDs.  On Win9x C<chown()>is a no-op, although this is appropriate since there is no security model.=item * MiscellaneousFile locking using the C<F_GETLK> command to C<fcntl()> is a stub thatreturns C<ENOSYS>.Win9x can not C<rename()> an open file (although WinNT can).The Cygwin C<chroot()> implementation has holes (it can not restrict fileaccess by native Win32 programs).Inplace editing C<perl -i> of files doesn't work without doing a backupof the file being edited C<perl -i.bak> because of windowish restrictions,therefore Perl adds the suffix C<.bak> automatically if you use C<perl -i>without specifying a backup extension.Using C<fork()> after loading multiple dlls may fail with an internal cygwinerror like the following:  C:\CYGWIN\BIN\PERL.EXE: *** couldn't allocate memory 0x10000(4128768) for 'C:\CYGWIN\LIB\PERL5\5.6.1\CYGWIN-MULTI\AUTO\SOCKET\SOCKET.DLL' alignment, Win32 error 8    200 [main] perl 377147 sync_with_child: child -395691(0xB8) died before initialization with status code 0x1   1370 [main] perl 377147 sync_with_child: *** child state child loading dllsUse the rebase utility to resolve the conflicting dll addresses.  Therebase package is included in the Cygwin netrelease.  Use setup.exe fromF<http://www.cygwin.com/setup.exe> to install it and run rebaseall.=back=head2 Prebuilt methods:=over 4=item C<Cwd::cwd>Returns the current working directory.=item C<Cygwin::pid_to_winpid>Translates a cygwin pid to the corresponding Windows pid (which may ormay not be the same).=item C<Cygwin::winpid_to_pid>Translates a Windows pid to the corresponding cygwin pid (if any).=item C<Cygwin::win_to_posix_path>Translates a Windows path to the corresponding cygwin path respectingthe current mount points. With a second non-null argument returns anabsolute path. Double-byte characters will not be translated.=item C<Cygwin::posix_to_win_path>Translates a cygwin path to the corresponding cygwin path respectingthe current mount points. With a second non-null argument returns anabsolute path. Double-byte characters will not be translated.=item C<Cygwin::mount_table()>Returns an array of [mnt_dir, mnt_fsname, mnt_type, mnt_opts].  perl -e 'for $i (Cygwin::mount_table) {print join(" ",@$i),"\n";}'  /bin c:\cygwin\bin system binmode,cygexec  /usr/bin c:\cygwin\bin system binmode  /usr/lib c:\cygwin\lib system binmode  / c:\cygwin system binmode  /cygdrive/c c: system binmode,noumount  /cygdrive/d d: system binmode,noumount  /cygdrive/e e: system binmode,noumount=item C<Cygwin::mount_flags>Returns the mount type and flags for a specified mount point.A comma-separated string of mntent->mnt_type (always"system" or "user"), then the mntent->mnt_opts, wherethe first is always "binmode" or "textmode".  system|user,binmode|textmode,exec,cygexec,cygdrive,mixed,  notexec,managed,nosuid,devfs,proc,noumountIf the argument is "/cygdrive", then just the volume mount settings,and the cygdrive mount prefix are returned.User mounts override system mounts.  $ perl -e 'print Cygwin::mount_flags "/usr/bin"'  system,binmode,cygexec  $ perl -e 'print Cygwin::mount_flags "/cygdrive"'  binmode,cygdrive,/cygdrive=item C<Cygwin::is_binmount>Returns true if the given cygwin path is binary mounted, false if thepath is mounted in textmode.=back=head1 INSTALL PERL ON CYGWINThis will install Perl, including I<man> pages.  make install 2>&1 | tee log.make-installNOTE: If C<STDERR> is redirected C<make install> will B<not> promptyou to install I<perl> into F</usr/bin>.You may need to be I<Administrator> to run C<make install>.  If youare not, you must have write access to the directories in question.Information on installing the Perl documentation in HTML format can befound in the F<INSTALL> document.=head1 MANIFEST ON CYGWINThese are the files in the Perl release that contain references to Cygwin.These very brief notes attempt to explain the reason for all conditionalcode.  Hopefully, keeping this up to date will allow the Cygwin port tobe kept as clean as possible.=over 4=item Documentation  INSTALL README.cygwin README.win32 MANIFEST  Changes Changes5.004 Changes5.005 Changes5.6 Changes5.8  pod/perl.pod pod/perlport.pod pod/perlfaq3.pod  pod/perldelta.pod pod/perl5004delta.pod pod/perl56delta.pod  pod/perl561delta.pod pod/perl570delta.pod pod/perl572delta.pod  pod/perl573delta.pod pod/perl58delta.pod pod/perl581delta.pod  pod/perl590delta.pod pod/perlhist.pod pod/perlmodlib.pod  pod/perltoc.pod pod.lst Porting/Glossary Porting/repository.pod  Porting/checkAUTHORS.pl  ext/Compress/Raw/Zlib/Changes ext/Compress/Raw/Zlib/README  ext/Compress/Zlib/Changes ext/Cwd/Changes ext/DB_File/Changes  ext/Encode/Changes ext/Sys/Syslog/Changes ext/Time/HiRes/Changes  ext/Win32API/File/Changes lib/CGI/Changes lib/ExtUtils/CBuilder/Changes  lib/ExtUtils/Changes lib/ExtUtils/NOTES lib/ExtUtils/PATCHING  lib/ExtUtils/README lib/Module/Build/Changes lib/Net/Ping/Changes  lib/Test/Harness/Changes  lib/Term/ANSIColor/ChangeLog lib/Term/ANSIColor/README  README.symbian symbian/TODO=item Build, Configure, Make, Install  cygwin/Makefile.SHs  ext/IPC/SysV/hints/cygwin.pl  ext/NDBM_File/hints/cygwin.pl  ext/ODBM_File/hints/cygwin.pl  hints/cygwin.sh  Configure             - help finding hints from uname,                          shared libperl required for dynamic loading  Makefile.SH Cross/Makefile-cross-SH                        - linklibperl  Porting/patchls       - cygwin in port list  installman            - man pages with :: translated to .  installperl           - install dll, install to 'pods'  makedepend.SH         - uwinfix  regen_lib.pl          - file permissions  NetWare/Makefile  plan9/mkfile  symbian/sanity.pl symbian/sisify.pl  hints/uwin.sh  vms/descrip_mms.template  win32/Makefile win32/makefile.mk=item Tests  t/io/fs.t             - no file mode checks if not ntsec                          skip rename() check when not check_case:relaxed  t/io/tell.t           - binmode  t/lib/cygwin.t        - builtin cygwin function tests  t/op/groups.t         - basegroup has ID = 0  t/op/magic.t          - $^X/symlink WORKAROUND, s/.exe//  t/op/stat.t           - no /dev, skip Win32 ftCreationTime quirk                          (cache manager sometimes preserves ctime of file                          previously created and deleted), no -u (setuid)  t/op/taint.t          - can't use empty path under Cygwin Perl  t/op/time.t           - no tzset()=item Compiled Perl Source  EXTERN.h              - __declspec(dllimport)  XSUB.h                - __declspec(dllexport)  cygwin/cygwin.c       - os_extras (getcwd, spawn, and several Cygwin:: functions)  perl.c                - os_extras, -i.bak  perl.h                - binmode  doio.c                - win9x can not rename a file when it is open  pp_sys.c              - do not define h_errno, init _pwent_struct.pw_comment  util.c                - use setenv  util.h                - PERL_FILE_IS_ABSOLUTE macro  pp.c                  - Comment about Posix vs IEEE math under Cygwin  perlio.c              - CR/LF mode  perliol.c             - Comment about EXTCONST under Cygwin=item Compiled Module Source  ext/Compress/Raw/Zlib/Makefile.PL                        - Can't install via CPAN shell under Cygwin  ext/Compress/Raw/Zlib/zlib-src/zutil.h                        - Cygwin is Unix-like and has vsnprintf  ext/Errno/Errno_pm.PL - Special handling for Win32 Perl under Cygwin  ext/POSIX/POSIX.xs    - tzname defined externally  ext/SDBM_File/sdbm/pair.c                        - EXTCONST needs to be redefined from EXTERN.h  ext/SDBM_File/sdbm/sdbm.c                        - binary open  ext/Sys/Syslog/Syslog.xs                        - Cygwin has syslog.h  ext/Sys/Syslog/win32/compile.pl                        - Convert paths to Windows paths  ext/Time/HiRes/HiRes.xs                        - Various timers not available  ext/Time/HiRes/Makefile.PL                        - Find w32api/windows.h  ext/Win32/Makefile.PL - Use various libraries under Cygwin  ext/Win32/Win32.xs    - Child dir and child env under Cygwin  ext/Win32API/File/File.xs                        - _open_osfhandle not implemented under Cygwin  ext/Win32CORE/Win32CORE.c                        - __declspec(dllexport)=item Perl Modules/Scripts  ext/B/t/OptreeCheck.pm - Comment about stderr/stdout order under Cygwin  ext/Digest/SHA/bin/shasum                        - Use binary mode under Cygwin  ext/Sys/Syslog/win32/Win32.pm                        - Convert paths to Windows paths  ext/Time/HiRes/HiRes.pm                        - Comment about various timers not available  ext/Win32API/File/File.pm                        - _open_osfhandle not implemented under Cygwin  ext/Win32CORE/Win32CORE.pm                        - History of Win32CORE under Cygwin  lib/CGI.pm            - binmode and path separator  lib/CPANPLUS/Dist/MM.pm - Commented out code that fails under Win32/Cygwin  lib/CPANPLUS/Internals/Constants/Report.pm                        - OS classifications  lib/CPANPLUS/Internals/Constants.pm                        - Contants for Cygwin  lib/CPANPLUS/Internals/Report.pm                        - Example of Cygwin report  lib/CPANPLUS/Module.pm                        - Abort if running on old Cygwin version  lib/Cwd.pm            - hook to internal Cwd::cwd  lib/ExtUtils/CBuilder/Platform/cygwin.pm                        - use gcc for ld, and link to libperl.dll.a  lib/ExtUtils/CBuilder.pm                        - Cygwin is Unix-like  lib/ExtUtils/Install.pm - Install and rename issues under Cygwin  lib/ExtUtils/MM.pm    - OS classifications  lib/ExtUtils/MM_Any.pm - Example for Cygwin  lib/ExtUtils/MakeMaker.pm                        - require MM_Cygwin.pm  lib/ExtUtils/MM_Cygwin.pm                        - canonpath, cflags, manifypods, perl_archive  lib/File/Fetch.pm     - Comment about quotes using a Cygwin example  lib/File/Find.pm      - on remote drives stat() always sets st_nlink to 1  lib/File/Spec/Cygwin.pm - case_tolerant  lib/File/Spec/Unix.pm - preserve //unc  lib/File/Spec/Win32.pm - References a message on cygwin.com  lib/File/Spec.pm      - Pulls in lib/File/Spec/Cygwin.pm  lib/File/Temp.pm      - no directory sticky bit  lib/Module/Build/Compat.pm - Comment references 'make' under Cygwin  lib/Module/Build/Platform/cygwin.pm                        - Use '.' for man page separator  lib/Module/Build.pm   - Cygwin is Unix-like  lib/Module/CoreList.pm - List of all module files and versions  lib/Net/Domain.pm     - No domainname command under Cygwin  lib/Net/Netrc.pm      - Bypass using stat() under Cygwin  lib/Net/Ping.pm       - ECONREFUSED is EAGAIN under Cygwin  lib/Pod/Find.pm       - Set 'pods' dir  lib/Pod/Perldoc/ToMan.pm - '-c' switch for pod2man  lib/Pod/Perldoc.pm    - Use 'less' pager, and use .exe extension  lib/Term/ANSIColor.pm - Cygwin terminal info  lib/perl5db.pl        - use stdin not /dev/tty  utils/perlbug.PL      - Add CYGWIN environment variable to report=item Perl Module Tests  ext/Compress/Zlib/t/14gzopen.t  ext/Cwd/t/cwd.t  ext/DB_File/t/db-btree.t  ext/DB_File/t/db-hash.t  ext/DB_File/t/db-recno.t  ext/DynaLoader/t/DynaLoader.t  ext/File/Glob/t/basic.t  ext/GDBM_File/t/gdbm.t  ext/POSIX/t/sysconf.t  ext/POSIX/t/time.t  ext/SDBM_File/t/sdbm.t  ext/Sys/Syslog/t/syslog.t  ext/Time/HiRes/t/HiRes.t  ext/Win32/t/Unicode.t  ext/Win32API/File/t/file.t  ext/Win32CORE/t/win32core.t  lib/AnyDBM_File.t  lib/Archive/Extract/t/01_Archive-Extract.t  lib/Archive/Tar/t/02_methods.t  lib/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t  lib/CPANPLUS/t/20_CPANPLUS-Dist-MM.t  lib/ExtUtils/t/Embed.t  lib/ExtUtils/t/eu_command.t  lib/ExtUtils/t/MM_Cygwin.t  lib/ExtUtils/t/MM_Unix.t  lib/File/Compare.t  lib/File/Copy.t  lib/File/Find/t/find.t  lib/File/Path.t  lib/File/Spec/t/crossplatform.t  lib/File/Spec/t/Spec.t  lib/Module/Build/t/destinations.t  lib/Net/hostent.t  lib/Net/Ping/t/110_icmp_inst.t  lib/Net/Ping/t/500_ping_icmp.t  lib/Net/t/netrc.t  lib/Pod/Simple/t/perlcyg.pod  lib/Pod/Simple/t/perlcygo.txt  lib/Pod/Simple/t/perlfaq.pod  lib/Pod/Simple/t/perlfaqo.txt  lib/User/grent.t  lib/User/pwent.t=back=head1 BUGS ON CYGWINSupport for swapping real and effective user and group IDs is incomplete.On WinNT Cygwin provides C<setuid()>, C<seteuid()>, C<setgid()> and C<setegid()>.However, additional Cygwin calls for manipulating WinNT access tokensand security contexts are required.=head1 AUTHORSCharles Wilson <cwilson@ece.gatech.edu>,Eric Fifer <egf7@columbia.edu>,alexander smishlajev <als@turnhere.com>,Steven Morlock <newspost@morlock.net>,Sebastien Barre <Sebastien.Barre@utc.fr>,Teun Burgers <burgers@ecn.nl>,Gerrit P. Haase <gp@familiehaase.de>,Reini Urban <rurban@cpan.org>,Jan Dubois <jand@activestate.com>,Jerry D. Hedden <jdhedden@cpan.org>.=head1 HISTORYLast updated: 2007-09-25

⌨️ 快捷键说明

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