Dotfiles_Generator/fill-template.pl

32 lines
601 B
Perl
Executable File

#!/usr/bin/env -S perl -s
my %envvars = ();
if (!$env) {
print "Usage:\n";
print "\t$0 -env=/path/to/env [template0] [template1] [templateN]\n";
print "or reading template contents from STDIN:\n";
print "\t$0 -env=/path/to/env\n";
exit -1
}
open (my $fh, "<", $env) or die $!;
while(my $line = <$fh>) {
my ($key, $value) = $line =~ /^([^={}]+)=([^={}]+?)\n?$/;
if (!$key || !value) {
next;
}
$envvars{$key} = $value;
}
while (<>) {
for $key (keys %envvars) {
my $value = $envvars{$key};
s/{{$key}}/$value/g;
}
print $_;
}