32 lines
600 B
Perl
Executable File
32 lines
600 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/;
|
|
}
|
|
|
|
print $_;
|
|
}
|