📄 constants.pm
字号:
package CPANPLUS::Internals::Constants;use strict;use CPANPLUS::Error;use Config;use File::Spec;use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';require Exporter;use vars qw[$VERSION @ISA @EXPORT];use Package::Constants;$VERSION = 0.01;@ISA = qw[Exporter];@EXPORT = Package::Constants->list( __PACKAGE__ );sub constants { @EXPORT };use constant INSTALLER_BUILD => 'CPANPLUS::Dist::Build';use constant INSTALLER_MM => 'CPANPLUS::Dist::MM'; use constant INSTALLER_SAMPLE => 'CPANPLUS::Dist::Sample';use constant INSTALLER_BASE => 'CPANPLUS::Dist::Base'; use constant SHELL_DEFAULT => 'CPANPLUS::Shell::Default';use constant SHELL_CLASSIC => 'CPANPLUS::Shell::Classic';use constant CONFIG => 'CPANPLUS::Config';use constant CONFIG_USER => 'CPANPLUS::Config::User';use constant CONFIG_SYSTEM => 'CPANPLUS::Config::System';use constant CONFIG_BOXED => 'CPANPLUS::Config::Boxed';use constant TARGET_CREATE => 'create';use constant TARGET_PREPARE => 'prepare';use constant TARGET_INSTALL => 'install';use constant TARGET_IGNORE => 'ignore';use constant ON_WIN32 => $^O eq 'MSWin32';use constant ON_NETWARE => $^O eq 'NetWare';use constant ON_CYGWIN => $^O eq 'cygwin';use constant ON_VMS => $^O eq 'VMS';use constant DOT_CPANPLUS => ON_VMS ? '_cpanplus' : '.cpanplus'; use constant OPT_AUTOFLUSH => '-MCPANPLUS::Internals::Utils::Autoflush';use constant UNKNOWN_DL_LOCATION => 'UNKNOWN-ORIGIN'; use constant NMAKE => 'nmake.exe';use constant NMAKE_URL => 'ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe';use constant INSTALL_VIA_PACKAGE_MANAGER => sub { my $fmt = $_[0] or return; return 1 if $fmt ne INSTALLER_BUILD and $fmt ne INSTALLER_MM; }; use constant IS_CODEREF => sub { ref $_[-1] eq 'CODE' };use constant IS_MODOBJ => sub { UNIVERSAL::isa($_[-1], 'CPANPLUS::Module') }; use constant IS_FAKE_MODOBJ => sub { UNIVERSAL::isa($_[-1], 'CPANPLUS::Module::Fake') };use constant IS_AUTHOBJ => sub { UNIVERSAL::isa($_[-1], 'CPANPLUS::Module::Author') };use constant IS_FAKE_AUTHOBJ => sub { UNIVERSAL::isa($_[-1], 'CPANPLUS::Module::Author::Fake') };use constant IS_CONFOBJ => sub { UNIVERSAL::isa($_[-1], 'CPANPLUS::Configure') };use constant IS_RVOBJ => sub { UNIVERSAL::isa($_[-1], 'CPANPLUS::Backend::RV') }; use constant IS_INTERNALS_OBJ => sub { UNIVERSAL::isa($_[-1], 'CPANPLUS::Internals') }; use constant IS_FILE => sub { return 1 if -e $_[-1] }; use constant FILE_EXISTS => sub { my $file = $_[-1]; return 1 if IS_FILE->($file); local $Carp::CarpLevel = $Carp::CarpLevel+2; error(loc( q[File '%1' does not exist], $file)); return; }; use constant FILE_READABLE => sub { my $file = $_[-1]; return 1 if -e $file && -r _; local $Carp::CarpLevel = $Carp::CarpLevel+2; error( loc( q[File '%1' is not readable ]. q[or does not exist], $file)); return; }; use constant IS_DIR => sub { return 1 if -d $_[-1] };use constant DIR_EXISTS => sub { my $dir = $_[-1]; return 1 if IS_DIR->($dir); local $Carp::CarpLevel = $Carp::CarpLevel+2; error(loc(q[Dir '%1' does not exist], $dir)); return; }; ### On VMS, if the $Config{make} is either MMK ### or MMS, then the makefile is 'DESCRIP.MMS'.use constant MAKEFILE => sub { my $file = (ON_VMS and $Config::Config{make} =~ /MM[S|K]/i) ? 'DESCRIP.MMS' : 'Makefile'; return @_ ? File::Spec->catfile( @_, $file ) : $file; }; use constant MAKEFILE_PL => sub { return @_ ? File::Spec->catfile( @_, 'Makefile.PL' ) : 'Makefile.PL'; }; use constant BUILD_PL => sub { return @_ ? File::Spec->catfile( @_, 'Build.PL' ) : 'Build.PL'; }; use constant BLIB => sub { return @_ ? File::Spec->catfile(@_, 'blib') : 'blib'; }; use constant LIB => 'lib';use constant LIB_DIR => sub { return @_ ? File::Spec->catdir(@_, LIB) : LIB; }; use constant AUTO => 'auto'; use constant LIB_AUTO_DIR => sub { return @_ ? File::Spec->catdir(@_, LIB, AUTO) : File::Spec->catdir(LIB, AUTO) }; use constant ARCH => 'arch';use constant ARCH_DIR => sub { return @_ ? File::Spec->catdir(@_, ARCH) : ARCH; }; use constant ARCH_AUTO_DIR => sub { return @_ ? File::Spec->catdir(@_,ARCH,AUTO) : File::Spec->catdir(ARCH,AUTO) }; use constant BLIB_LIBDIR => sub { return @_ ? File::Spec->catdir( @_, BLIB->(), LIB ) : File::Spec->catdir( BLIB->(), LIB ); }; use constant CONFIG_USER_LIB_DIR => sub { require CPANPLUS::Internals::Utils;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -