#!/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 $_; }