$ perl -T 4.dt.pl
tiny path is /home/hogan/merrillpjensen.com/prod/lib/1.env.txt
real bin is /home/hogan/merrillpjensen.com/prod
$
####
#!/usr/bin/env perl
use v5.030;
use warnings;
use Data::Dumper;
use FindBin qw($RealBin);
use Path::Tiny;
my ($prefix,$website,$environment,$basedir);
BEGIN {
# truncate envelope
$ENV{PATH} = '/bin:/usr/bin';
delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; # Make %ENV safer
$prefix = "/home/hogan"; #needs to toggle with
#$prefix = "/home/fred"; #
$website = 'merrillpjensen.com';
use FindBin qw($RealBin);
if ($RealBin =~ m!$prefix/$website/(dev|test|prod)!) {
$environment = $1; # This is now untainted!
$basedir = "$prefix/$website/$environment";
}
else {die "Bad environment '$1'"; }
}
#my $tt = Template->new({INCLUDE_PATH => "$basedir/templates"});
# now I have Path::Tiny
my $file_name="1.env.txt";
my $tiny_path=path($basedir, ,'lib',$file_name)->touchpath;
say "tiny path is $tiny_path";
my $d = Data::Dumper->new( [ \%ENV ], ['*ENV'] )->Sortkeys(1)->Useqq(1)->Dump();
my $return = $tiny_path->spew( $d);
say "real bin is $RealBin";
####
fred@fourth:/var/www/html/perlmonks$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
fred@fourth:/var/www/html/perlmonks$
####
fred@fourth:/$ ls
bin dev home lib32 libx32 media opt root sbin srv tmp var
boot etc lib lib64 lost+found mnt proc run snap sys usr
fred@fourth:/$
####
$prefix = "/home/hogan"; #needs to toggle with
#$prefix = "/home/fred"; #
####
$ cat 4.conf
###############################################################################
# Log::Log4perl Conf #
###############################################################################
log4perl.rootLogger = INFO, LOG1, SCREEN
log4perl.appender.SCREEN = Log::Log4perl::Appender::Screen
log4perl.appender.SCREEN.stderr = 0
log4perl.appender.SCREEN.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.SCREEN.layout.ConversionPattern = %m %n
log4perl.appender.LOG1 = Log::Log4perl::Appender::File
log4perl.appender.LOG1.filename = /home/hogan/Documents/hogan/logs/4.log4perl.txt
log4perl.appender.LOG1.mode = append
log4perl.appender.LOG1.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.LOG1.layout.ConversionPattern = %d %p %m %n
$