defined %HASH is supposed to be replaced with %HASH, which does more of what you probably
meant.
In this case defined %ENV is unnecessary since %ENV is tied I believe. regardless, keys %ENV will
happily come back as 0 if it ever happens.
Patch attached for fix.
diff --git a/General/Interpolated.pm b/General/Interpolated.pm
index e0d6f63..aaef6b7 100644
--- a/General/Interpolated.pm
+++ b/General/Interpolated.pm
@@ -124,7 +124,7 @@ sub _interpolate_hash {
my ($this, $config) = @_;
# bugfix rt.cpan.org#46184, moved code from _interpolate() to here.
- if ($this->{InterPolateEnv} && defined(%ENV)) {
+ if ($this->{InterPolateEnv}) {
# may lead to vulnerabilities, by default flag turned off
for my $key (keys %ENV){
$config->{__stack}->{$key}=$ENV{$key};