use strict; use warnings; use Data::Dumper; use Config::General; my $c = Config::General->new( -ConfigFile => \*DATA, -InterPolateVars => 1, ); print Dumper {$c->getall()}; __DATA__ V1=/home/user V2=$V1/test V3=$V2/file.txt #### $VAR1 = { 'V1' => '/home/user', 'V2' => '/home/user/test', 'V3' => '/home/user/test/file.txt' };