Acrux
view release on metacpan or search on metacpan
lib/Acme/Crux.pm view on Meta::CPAN
# Log dir
my $logdir = $self->{logdir};
unless (defined($logdir) && length($logdir)) {
$logdir = $self->{logdir} = File::Spec->catdir(LOGDIR, $moniker);
}
# Share dir
my $sharedir = $self->{sharedir};
unless (defined($sharedir) && length($sharedir)) {
$self->{sharedir} = File::Spec->catdir(DATADIR, $moniker);
}
# Doc dir
my $docdir = $self->{docdir};
unless (defined($docdir) && length($docdir)) {
$self->{docdir} = File::Spec->catdir(DOCDIR, $moniker);
}
# Cache dir
my $cachedir = $self->{cachedir};
lib/Acrux/Const.pm view on Meta::CPAN
};
# Named groups of exports
our %EXPORT_TAGS = (
'GENERAL' => [qw/
IS_TTY IS_ROOT
DATE_FORMAT TIME_FORMAT DATETIME_FORMAT DATE_TIME_FORMAT
/],
'DIR' => [qw/
PREFIX LOCALSTATEDIR SYSCONFDIR SRVDIR
BINDIR SBINDIR DATADIR DOCDIR LOCALEDIR MANDIR LOCALBINDIR
CACHEDIR LOGDIR SPOOLDIR RUNDIR LOCKDIR SHAREDSTATEDIR WEBDIR
/],
);
# Items to export into callers namespace by default
# (move infrequently used names to @EXPORT_OK below)
our @EXPORT = (
@{$EXPORT_TAGS{GENERAL}},
);
lib/Acrux/Const.pm view on Meta::CPAN
# Root dirs
*PREFIX = sub { $prefix }; # prefix /usr
*LOCALSTATEDIR = sub { $localstatedir }; # localstatedir /var
*SYSCONFDIR = sub { $sysconfdir }; # sysconfdir /etc
*SRVDIR = sub { $srvdir }; # srvdir /srv
# Prefix related dirs
*BINDIR = sub { $bindir }; # bindir /usr/bin
*SBINDIR = sub { state $sbindir = File::Spec->catdir($prefix, 'sbin') }; # sbindir /usr/sbin
*DATADIR = sub { state $datadir = File::Spec->catdir($prefix, 'share') }; # datadir /usr/share
*DOCDIR = sub { state $docdir = File::Spec->catdir($prefix, 'share', 'doc') }; # docdir /usr/share/doc
*LOCALEDIR = sub { state $localedir = File::Spec->catdir($prefix, 'share', 'locale') }; # localedir /usr/share/locale
*MANDIR = sub { state $mandir = File::Spec->catdir($prefix, 'share', 'man') }; # mandir /usr/share/man
*LOCALBINDIR = sub { state $localbindir = File::Spec->catdir($prefix, 'local', 'bin') };# localbindir /usr/local/bin
# Local State related Dirs
*CACHEDIR = sub { state $cachedir = File::Spec->catdir($localstatedir, 'cache') }; # cachedir /var/cache
*LOGDIR = sub { state $logdir = File::Spec->catdir($localstatedir, 'log') }; # logdir /var/log
*SPOOLDIR = sub { state $spooldir = File::Spec->catdir($localstatedir, 'spool') }; # spooldir /var/spool
*RUNDIR = sub { state $rundir = File::Spec->catdir($localstatedir, 'run') }; # rundir /var/run
lib/Acrux/RefUtil.pm view on Meta::CPAN
$depth++;
return 0 if $depth >= MAX_DEPTH; # Exit from the recursion
my $t = ref($struct);
if ($t eq 'SCALAR') {
return is_void($$struct, $depth)
} elsif ($t eq 'ARRAY') {
for (@$struct) {
return 0 unless is_void($_, $depth);
}
return 1; # DEFINED DATA NOT FOUND - VOID
} elsif ($t eq 'HASH') {
return 0 if keys(%$struct);
return 1; # DEFINED DATA NOT FOUND - VOID
}
# CODE, REF, GLOB, LVALUE, FORMAT, IO, VSTRING and Regexp are not supported here
return 0; # NOT VOID
}
sub isnt_void {is_void(@_) ? 0 : 1}
sub is_true_flag {
my $f = shift || return 0;
return $f =~ /^(on|y|true|enable|1)/i ? 1 : 0;
}
( run in 0.770 second using v1.01-cache-2.11-cpan-140bd7fdf52 )