my $ini = Config::Tiny->new;
$ini->{$_} = $config{$_} for keys %config;
####
#!/usr/bin/env perl
use 5.011; # implies strict + feature 'say'
use warnings;
use Data::Dumper;
use Config::Tiny;
use FindBin;
use lib $FindBin::Bin;
use config2;
use constant {
INIFILE => 'example3.ini',
ENCODING => 'utf8'
};
sub create {
say Dumper \%config;
#next line is equivalent to subsequent 2 lines
my $ini = bless \%config, 'Config::Tiny';
#my $ini = Config::Tiny->new;
#$ini->{$_} = $config{$_} for keys %config;
$ini->write(INIFILE, ENCODING);
say 'created ', INIFILE;
}
sub show {
say 'reading ', INIFILE;
my $ini = Config::Tiny->read(INIFILE, ENCODING);
my %config = %$ini; #line 38
say Dumper \%config;
}
create() unless -e 'example3.ini';
show()
-----------
#!/usr/bin/perl -w
use 5.011;
use lib "template_stuff";
use utils2;
my $return = make_ini();
say "return is $return";
__END__
-------------
package utils2;
require Exporter;
use utils1;
our @ISA = qw(Exporter);
our @EXPORT = qw( archive make_ini create show);
sub make_ini {
use 5.011; # implies strict + feature 'say'
use warnings; #thx soonix
use Data::Dumper;
use Config::Tiny;
use FindBin;
use lib $FindBin::Bin;
use config2;
use constant {
INIFILE => '1.example.ini',
ENCODING => 'utf8'
};
sub create {
use Path::Tiny;
use config2;
my $ini_path=path("/home/bob/Documents", "INIFILE");
say Dumper \%config;
#next line is equivalent to subsequent 2 lines
my $ini = bless \%config, 'Config::Tiny';
#my $ini = Config::Tiny->new;
#$ini->{$_} = $config{$_} for keys %config;
$ini->write( $ini_path, ENCODING );
say 'created ', $ini_path;
return $ini_path;
}
sub show {
say 'reading ', INIFILE;
my $ini = Config::Tiny->read( INIFILE, ENCODING );
my %config = %$ini; #line 38
say Dumper \%config;
}
create() unless -e $ini_path;
show()
}
sub archive {
use strict;
use warnings;
use 5.010;
use Path::Tiny;
use config2;
# old way of getting values
my $sub_hash = "my_github";
my $email = $config{$sub_hash}->{'email'};
my $password = $config{$sub_hash}->{'password'};
my $tempdir = Path::Tiny->tempdir('backup_XXXXXX');
say "temp dir is $tempdir";
my $scratch_file = $tempdir->child( 'batch_01', '1.manifest.txt' )->touchpath;
say "scratch_file is $scratch_file";
my $parent = $scratch_file->parent;
say "parent is $parent";
chdir $tempdir unless $tempdir->subsumes( Path::Tiny->cwd );
system("pwd");
use Data::Dumper;
print Dumper \%config;
my $b = "dummy";
return $b;
}
1;
####
$ ./1.initialize.pl
Global symbol "$ini_path" requires explicit package name (did you forget to declare "my $ini_path"?) at template_stuff/utils2.pm line 47.
BEGIN not safe after errors--compilation aborted at template_stuff/utils2.pm line 53.
Compilation failed in require at ./1.initialize.pl line 5.
BEGIN failed--compilation aborted at ./1.initialize.pl line 5.
$