📄 constants.pm
字号:
LIB_DIR->( CPANPLUS::Internals::Utils->_home_dir, DOT_CPANPLUS ); }; use constant CONFIG_USER_FILE => sub { File::Spec->catfile( CONFIG_USER_LIB_DIR->(), split('::', CONFIG_USER), ) . '.pm'; };use constant CONFIG_SYSTEM_FILE => sub { require CPANPLUS::Internals; require File::Basename; my $dir = File::Basename::dirname( $INC{'CPANPLUS/Internals.pm'} ); ### XXX use constants File::Spec->catfile( $dir, qw[Config System.pm] ); }; use constant README => sub { my $obj = $_[0]; my $pkg = $obj->package_name; $pkg .= '-' . $obj->package_version . '.readme'; return $pkg; };use constant OPEN_FILE => sub { my($file, $mode) = (@_, ''); my $fh; open $fh, "$mode" . $file or error(loc( "Could not open file '%1': %2", $file, $!)); return $fh if $fh; return; }; use constant OPEN_DIR => sub { my $dir = shift; my $dh; opendir $dh, $dir or error(loc( "Could not open dir '%1': %2", $dir, $! )); return $dh if $dh; return; };use constant READ_DIR => sub { my $dir = shift; my $dh = OPEN_DIR->( $dir ) or return; ### exclude . and .. my @files = grep { $_ !~ /^\.{1,2}/ } readdir($dh); ### Remove trailing dot on VMS when ### using VMS syntax. if( ON_VMS ) { s/(?<!\^)\.$// for @files; } return @files; }; use constant STRIP_GZ_SUFFIX => sub { my $file = $_[0] or return; $file =~ s/.gz$//i; return $file; }; use constant CHECKSUMS => 'CHECKSUMS';use constant PGP_HEADER => '-----BEGIN PGP SIGNED MESSAGE-----';use constant ENV_CPANPLUS_CONFIG => 'PERL5_CPANPLUS_CONFIG';use constant ENV_CPANPLUS_IS_EXECUTING => 'PERL5_CPANPLUS_IS_EXECUTING';use constant DEFAULT_EMAIL => 'cpanplus@example.com'; use constant CPANPLUS_UA => sub { ### for the version number ### require CPANPLUS::Internals; "CPANPLUS/$CPANPLUS::Internals::VERSION" };use constant TESTERS_URL => sub { "http://testers.cpan.org/show/" . $_[0] .".yaml" };use constant TESTERS_DETAILS_URL => sub { 'http://testers.cpan.org/show/' . $_[0] . '.html'; }; use constant CREATE_FILE_URI => sub { my $dir = $_[0] or return; return $dir =~ m|^/| ? 'file://' . $dir : 'file:///' . $dir; }; use constant EMPTY_DSLIP => ' ';use constant CUSTOM_AUTHOR_ID => 'LOCAL';use constant DOT_SHELL_DEFAULT_RC => '.shell-default.rc';use constant PREREQ_IGNORE => 0; use constant PREREQ_INSTALL => 1;use constant PREREQ_ASK => 2;use constant PREREQ_BUILD => 3;use constant BOOLEANS => [0,1];use constant CALLING_FUNCTION => sub { my $lvl = $_[0] || 0; return join '::', (caller(2+$lvl))[3] };use constant PERL_CORE => 'perl';use constant GET_XS_FILES => sub { my $dir = $_[0] or return; require File::Find; my @files; File::Find::find( sub { push @files, $File::Find::name if $File::Find::name =~ /\.xs$/i }, $dir ); return @files; }; use constant INSTALL_LOG_FILE => sub { my $obj = shift or return; my $name = $obj->name; $name =~ s/::/-/g; $name .= '-'. $obj->version; $name .= '-'. scalar(time) . '.log'; return $name; }; use constant ON_OLD_CYGWIN => do { ON_CYGWIN and $] < 5.008 ? loc( "Your perl version for %1 is too low; ". "Require %2 or higher for this function", $^O, '5.8.0' ) : ''; };### XXX these 2 are probably obsolete -- check & remove;use constant DOT_EXISTS => '.exists'; use constant QUOTE_PERL_ONE_LINER => sub { my $line = shift or return; ### use double quotes on these systems return qq["$line"] if ON_WIN32 || ON_NETWARE || ON_VMS; ### single quotes on the rest return qq['$line']; }; 1; # Local variables:# c-indentation-style: bsd# c-basic-offset: 4# indent-tabs-mode: nil# End:# vim: expandtab shiftwidth=4:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -