📄 config.pm
字号:
i_memory='undef'i_mntent='define'i_ndbm='undef'i_netdb='define'i_neterrno='undef'i_netinettcp='define'i_niin='define'i_poll='define'i_prot='undef'i_pthread='define'i_pwd='define'i_rpcsvcdbm='undef'i_sfio='undef'i_sgtty='undef'i_shadow='undef'i_socks='undef'i_stdarg='define'i_stddef='define'i_stdlib='define'i_string='define'i_sunmath='undef'i_sysaccess='undef'i_sysdir='undef'i_sysfile='define'i_sysfilio='undef'i_sysin='undef'i_sysioctl='define'i_syslog='define'i_sysmman='define'i_sysmode='undef'i_sysmount='define'i_sysndir='undef'i_sysparam='define'i_sysresrc='define'i_syssecrt='undef'i_sysselct='define'i_syssockio=''i_sysstat='define'i_sysstatfs='undef'i_sysstatvfs='undef'i_systime='define'i_systimek='undef'i_systimes='define'i_systypes='define'i_sysuio='define'i_sysun='define'i_sysutsname='define'i_sysvfs='define'i_syswait='define'i_termio='undef'i_termios='define'i_time='undef'i_unistd='define'i_ustat='undef'i_utime='define'i_values='undef'i_varargs='undef'i_varhdr='stdarg.h'i_vfork='undef'ignore_versioned_solibs=''inc_version_list=' 'inc_version_list_init='0'incpath=''inews=''installbin='/usr/bin'installman1dir=''installman3dir=''installprefix='/usr'installprefixexp='/usr'installscript='/usr/bin'installsitearch='/usr/lib/perl5/site_perl/5.6.1/msys'installsitebin='/usr/bin'installsitelib='/usr/lib/perl5/site_perl/5.6.1'installstyle='lib/perl5'installusrbinperl='undef'installvendorarch=''installvendorbin=''installvendorlib=''intsize='4'issymlink='test -h'ivdformat='"ld"'ivsize='4'ivtype='long'known_extensions='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Fcntl File/Glob GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Sys/Hostname Sys/Syslog Thread attrs re'ksh=''ld='ld2'lddlflags=' -s'ldflags=' -s'ldflags_uselargefiles=''ldlibpthname='PATH'less='less'lib_ext='.a'libc='/usr/lib/libmsys-1.0.dll.a'libperl='libperl.dll'libsdirs=' /usr/lib'libsfiles=' libgdbm.a'libsfound=' /usr/lib/libgdbm.a'libspath=' /usr/lib /lib'libswanted=' sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun cposix posix ndir dir crypt sec ucb bsd BSD PW x iconv util cygipc'libswanted_uselargefiles=''line=''lint=''lkflags=''ln='ln'lns='/bin/ln -s'locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'longdblsize='12'longlongsize='8'longsize='4'lp=''lpr=''ls='ls'lseeksize='4'lseektype='off_t'mail=''mailx=''make='make'make_set_make='#'mallocobj='malloc.o'mallocsrc='malloc.c'malloctype='void *'man1dir=' 'man1direxp=''man1ext='0'man3dir=' 'man3direxp=''man3ext='0'mips_type=''mkdir='mkdir'mmaptype='caddr_t'modetype='mode_t'more='more'multiarch='undef'mv=''myarchname='i686-msys'mydomain='.users'myhostname='du216771'myuname='msys_nt-4.0 du216771 1.0.8(0.4632) 2002-05-13 09:50 i686 unknown 'n='-n'netdb_hlen_type='int'netdb_host_type='const char *'netdb_name_type='const char *'netdb_net_type='long'nm='nm'nm_opt=''nm_so_opt=''nonxs_ext='Errno'nroff='nroff'nvEUformat='"E"'nvFUformat='"F"'nvGUformat='"G"'nveformat='"e"'nvfformat='"f"'nvgformat='"g"'nvsize='8'nvtype='double'o_nonblock='O_NONBLOCK'obj_ext='.o'old_pthread_create_joinable=''optimize='-O3 -s -mcpu=pentium'orderlib='false'otherlibdirs=' 'package='perl5'pager='/bin/less'passcat=''patchlevel='6'path_sep=':'perl5='/usr/bin/perl'perl=''perladmin='unknown@du216771.users'perllibs=''perlpath='/usr/bin/perl'pg='pg'phostname='hostname'pidtype='pid_t'plibpth='/usr/lib'pm_apiversion='5.005'pmake=''pr=''prefixexp='/usr'privlib='/usr/lib/perl5/5.6.1'prototype='define'ptrsize='4'quadkind='3'quadtype='long long'randbits='48'randfunc='drand48'randseedtype='long'ranlib=':'rd_nodata='-1'revision='5'rm='rm'rmail=''runnm='true'sPRIEUldbl='"LE"'sPRIFUldbl='"LF"'sPRIGUldbl='"LG"'sPRIXU64='"llX"'sPRId64='"lld"'sPRIeldbl='"Le"'sPRIfldbl='"Lf"'sPRIgldbl='"Lg"'sPRIi64='"lli"'sPRIo64='"llo"'sPRIu64='"llu"'sPRIx64='"llx"'sSCNfldbl='"Lf"'sched_yield='sched_yield()'scriptdir='/usr/bin'scriptdirexp='/usr/bin'sed='sed'seedfunc='srand48'selectminbits='32'selecttype='fd_set *'sendmail=''sh='/bin/sh'shar=''shmattype=''shortsize='2'shrpenv='env LD_RUN_PATH=/usr/lib/perl5/5.6.1/msys/CORE'sig_count='32'sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "URG", "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "IO", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "LOST", "USR1", "USR2", "CLD", "POLL", 0'sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 20, 23, 0'signal_t='void'sitearch='/usr/lib/perl5/site_perl/5.6.1/msys'sitearchexp='/usr/lib/perl5/site_perl/5.6.1/msys'sitebin='/usr/bin'sitebinexp='/usr/bin'sitelib='/usr/lib/perl5/site_perl/5.6.1'sitelib_stem='/usr/lib/perl5/site_perl'sitelibexp='/usr/lib/perl5/site_perl/5.6.1'siteprefix='/usr'siteprefixexp='/usr'sizesize='4'sizetype='size_t'sleep=''smail=''sockethdr=''socketlib=''socksizetype='socklen_t'sort='sort'spackage='Perl5'spitshell='cat'src='.'ssizetype='ssize_t'startperl='#!/usr/bin/perl'stdchar='char'stdio_base='((fp)->_ub._base ? (fp)->_ub._base : (fp)->_bf._base)'stdio_bufsiz='((fp)->_ub._base ? (fp)->_ub._size : (fp)->_bf._size)'stdio_cnt='((fp)->_r)'stdio_filbuf=''stdio_ptr='((fp)->_p)'stdio_stream_array=''strings='/usr/include/string.h'submit=''subversion='1'sysman='/usr/man/man1'tail=''tar=''tbl=''tee=''test='test'timeincl='/usr/include/sys/time.h 'timetype='time_t'touch='touch'tr='tr'trnl='\n'troff=''u16size='2'u16type='unsigned short'u32size='4'u32type='unsigned long'u64size='8'u64type='unsigned long long'u8size='1'u8type='unsigned char'uidformat='"hu"'uidsign='1'uidsize='2'uidtype='uid_t'uname='uname'uniq='uniq'uquadtype='unsigned long long'use5005threads='undef'use64bitall='undef'use64bitint='undef'usedl='define'useithreads='undef'uselargefiles='define'uselongdouble='undef'usemorebits='undef'usemultiplicity='undef'usemymalloc='y'usenm='true'useopcode='true'useperlio='undef'useposix='true'usesfio='false'useshrplib='true'usesocks='undef'usethreads='undef'usevendorprefix='undef'usevfork='false'usrinc='/usr/include'uuname=''uvXUformat='"lX"'uvoformat='"lo"'uvsize='4'uvtype='unsigned long'uvuformat='"lu"'uvxformat='"lx"'vendorarch=''vendorarchexp=''vendorbin=''vendorbinexp=''vendorlib=''vendorlib_stem=''vendorlibexp=''vendorprefix=''vendorprefixexp=''version='5.6.1'versiononly='undef'vi=''voidflags='15'xlibpth='/usr/lib/386 /lib/386'xs_apiversion='5.6.1'yacc='bison -y'yaccflags=''zcat=''zip='zip'!END!my $summary = <<'!END!';Summary of my $package (revision $baserev version $PERL_VERSION subversion $PERL_SUBVERSION) configuration: Platform: osname=$osname, osvers=$osvers, archname=$archname uname='$myuname' config_args='$config_args' hint=$hint, useposix=$useposix, d_sigaction=$d_sigaction usethreads=$usethreads use5005threads=$use5005threads useithreads=$useithreads usemultiplicity=$usemultiplicity useperlio=$useperlio d_sfio=$d_sfio uselargefiles=$uselargefiles usesocks=$usesocks use64bitint=$use64bitint use64bitall=$use64bitall uselongdouble=$uselongdouble Compiler: cc='$cc', ccflags ='$ccflags', optimize='$optimize', cppflags='$cppflags' ccversion='$ccversion', gccversion='$gccversion', gccosandvers='$gccosandvers' intsize=$intsize, longsize=$longsize, ptrsize=$ptrsize, doublesize=$doublesize, byteorder=$byteorder d_longlong=$d_longlong, longlongsize=$longlongsize, d_longdbl=$d_longdbl, longdblsize=$longdblsize ivtype='$ivtype', ivsize=$ivsize, nvtype='$nvtype', nvsize=$nvsize, Off_t='$lseektype', lseeksize=$lseeksize alignbytes=$alignbytes, usemymalloc=$usemymalloc, prototype=$prototype Linker and Libraries: ld='$ld', ldflags ='$ldflags' libpth=$libpth libs=$libs perllibs=$perllibs libc=$libc, so=$so, useshrplib=$useshrplib, libperl=$libperl Dynamic Linking: dlsrc=$dlsrc, dlext=$dlext, d_dlsymun=$d_dlsymun, ccdlflags='$ccdlflags' cccdlflags='$cccdlflags', lddlflags='$lddlflags'!END!my $summary_expanded = 0;sub myconfig { return $summary if $summary_expanded; $summary =~ s{\$(\w+)} { my $c = $Config{$1}; defined($c) ? $c : 'undef' }ge; $summary_expanded = 1; $summary;}sub FETCH { # check for cached value (which may be undef so we use exists not defined) return $_[0]->{$_[1]} if (exists $_[0]->{$_[1]}); # Search for it in the big string my($value, $start, $marker, $quote_type); $quote_type = "'"; # Virtual entries. if ($_[1] eq 'byteorder') { # byteorder does exist on its own but we overlay a virtual # dynamically recomputed value. my $t = $Config{ivtype}; my $s = $Config{ivsize}; my $f = $t eq 'long' ? 'L!' : $s == 8 ? 'Q': 'I'; if ($s == 4 || $s == 8) { my $i = 0; foreach my $c (reverse(2..$s)) { $i |= ord($c); $i <<= 8 } $i |= ord(1); $value = join('', unpack('a'x$s, pack($f, $i))); } else { $value = '?'x$s; } } elsif ($_[1] =~ /^((?:cc|ld)flags|libs(?:wanted)?)_nolargefiles/) { # These are purely virtual, they do not exist, but need to # be computed on demand for largefile-incapable extensions. my $key = "${1}_uselargefiles"; $value = $Config{$1}; my $withlargefiles = $Config{$key}; if ($key =~ /^(?:cc|ld)flags_/) { $value =~ s/\Q$withlargefiles\E\b//; } elsif ($key =~ /^libs/) { my @lflibswanted = split(' ', $Config{libswanted_uselargefiles}); if (@lflibswanted) { my %lflibswanted; @lflibswanted{@lflibswanted} = (); if ($key =~ /^libs_/) { my @libs = grep { /^-l(.+)/ && not exists $lflibswanted{$1} } split(' ', $Config{libs}); $Config{libs} = join(' ', @libs); } elsif ($key =~ /^libswanted_/) { my @libswanted = grep { not exists $lflibswanted{$_} } split(' ', $Config{libswanted}); $Config{libswanted} = join(' ', @libswanted); } } } } else { $marker = "$_[1]="; # return undef unless (($value) = $config_sh =~ m/^$_[1]='(.*)'\s*$/m); # Check for the common case, ' delimeted $start = index($config_sh, "\n$marker$quote_type"); # If that failed, check for " delimited if ($start == -1) { $quote_type = '"'; $start = index($config_sh, "\n$marker$quote_type"); } return undef if ( ($start == -1) && # in case it's first (substr($config_sh, 0, length($marker)) ne $marker) ); if ($start == -1) { # It's the very first thing we found. Skip $start forward # and figure out the quote mark after the =. $start = length($marker) + 1; $quote_type = substr($config_sh, $start - 1, 1); } else { $start += length($marker) + 2; } $value = substr($config_sh, $start, index($config_sh, "$quote_type\n", $start) - $start); } # If we had a double-quote, we'd better eval it so escape # sequences and such can be interpolated. Since the incoming # value is supposed to follow shell rules and not perl rules, # we escape any perl variable markers if ($quote_type eq '"') { $value =~ s/\$/\\\$/g; $value =~ s/\@/\\\@/g; eval "\$value = \"$value\""; } #$value = sprintf($value) if $quote_type eq '"'; # So we can say "if $Config{'foo'}". $value = undef if $value eq 'undef'; $_[0]->{$_[1]} = $value; # cache it return $value;} my $prevpos = 0;sub FIRSTKEY { $prevpos = 0; # my($key) = $config_sh =~ m/^(.*?)=/; substr($config_sh, 0, index($config_sh, '=') ); # $key;}sub NEXTKEY { # Find out how the current key's quoted so we can skip to its end. my $quote = substr($config_sh, index($config_sh, "=", $prevpos)+1, 1); my $pos = index($config_sh, qq($quote\n), $prevpos) + 2; my $len = index($config_sh, "=", $pos) - $pos; $prevpos = $pos; $len > 0 ? substr($config_sh, $pos, $len) : undef;}sub EXISTS { # exists($_[0]->{$_[1]}) or $config_sh =~ m/^$_[1]=/m; exists($_[0]->{$_[1]}) or index($config_sh, "\n$_[1]='") != -1 or substr($config_sh, 0, length($_[1])+2) eq "$_[1]='" or index($config_sh, "\n$_[1]=\"") != -1 or substr($config_sh, 0, length($_[1])+2) eq "$_[1]=\"" or $_[1] =~ /^(?:(?:cc|ld)flags|libs(?:wanted)?)_nolargefiles$/;}sub STORE { die "\%Config::Config is read-only\n" }sub DELETE { &STORE }sub CLEAR { &STORE }sub config_sh { $config_sh}sub config_re { my $re = shift; my @matches = ($config_sh =~ /^$re=.*\n/mg); @matches ? (print @matches) : print "$re: not found\n";}sub config_vars { foreach(@_){ config_re($_), next if /\W/; my $v=(exists $Config{$_}) ? $Config{$_} : 'UNKNOWN'; $v='undef' unless defined $v; print "$_='$v';\n"; }}sub TIEHASH { bless {} }# avoid Config..Exporter..UNIVERSAL search for DESTROY then AUTOLOADsub DESTROY { }tie %Config, 'Config';1;__END__=head1 NAME
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -